Cassandra 数据库使用小记
一、安装与配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| # cassadra wget http://mirrors.shu.edu.cn/apache/cassandra/3.11.3/apache-cassandra-3.11.3-bin.tar.gz tar -zxvf apache-cassandra-3.11.3-bin.tar.gz -C /usr/local/
# 建立软链,方便升级 cd /usr/local/ ln -s apache-cassandra-3.11.3 cassandra
# 添加到环境变量 cat << EOF >> /etc/profile export PATH=/usr/local/cassandra/bin:\$PATH EOF
source /etc/profile
# 修改配置,方便内网连接 vim /usr/local/cassandra/conf/cassandra.yaml > cluster_name: 'Kong-dev-cluster' > - seeds: "172.18.1.16" > listen_address: 172.18.1.16 > rpc_address: 172.18.1.16
# 建立 cassandra 用户(cassandra建议非root用户运行) groupadd cassandra useradd -g cassandra cassandra chown -R cassandra:cassandra /usr/local/cassandra/
# 启动 (默认非 daemon 模式,可配置人 supervisor) cassandra -f
# or 配置 supervisor cat << EOF > /usr/local/deploy/supervisord/conf/cassandra.conf [program:cassandra] user=cassandra command=cassandra -f autostart=false autorestart=unexpected stdout_logfile=/usr/local/deploy/log/cassandra.log stderr_logfile=/usr/local/deploy/log/cassandra.err EOF
|
二、命令行使用
技巧:cqlsh
提供的命令行是具有智能提示的,输入命令的部分字母,按Tab
建可以出发,再CREATE KEYSPACE
这条命令中可以深切的感受到方便。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| cqlsh 172.18.10.217 cqlsh> show version; cqlsh> show host; cqlsh> desc cluster; cqlsh> desc keyspaces; cqlsh> CREATE KEYSPACE test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
cqlsh> desc keyspace test_keyspace; cqlsh> use test_keyspace; cqlsh:test_keyspace> desc tables; cqlsh:test_keyspace> create table abc ( id int primary key, name varchar, age int ); cqlsh:test_keyspace> desc table abc; cqlsh:test_keyspace> DROP TABLE abc ; -- abc 只输入 a, <Tab> 也可以自动补全哦 cqlsh:test_keyspace> drop KEYSPACE test_keyspace ;
|
更多命令请参考 官方文档
三、数据类型(附)
CQL类型 |
对应Java类型 |
描述 |
ascii |
String |
ascii字符串 |
bigint |
long |
64位整数 |
blob |
ByteBuffer/byte[] |
二进制数组 |
boolean |
boolean |
布尔 |
counter |
long |
计数器,支持原子性的增减,不支持直接赋值 |
decimal |
BigDecimal |
高精度小数 |
double |
double |
64位浮点数 |
float |
float |
32位浮点数 |
inet |
InetAddress |
ipv4或ipv6协议的ip地址 |
int |
int |
32位整数 |
list |
List |
有序的列表 |
map |
Map |
键值对 |
set |
Set |
集合 |
text |
String |
utf-8编码的字符串 |
timestamp |
Date |
日期 |
uuid |
UUID |
UUID类型 |
timeuuid |
UUID |
时间相关的UUID |
varchar |
string |
text的别名 |
varint |
BigInteger |
高精度整型 |