Cassandra集群部署
前提条件
安装java1.8、python2.7
一、Cassandra安装
- 首先创建压缩包存放文件夹program与Cassandra安装文件夹cassandra
命令:mkdir program(cassandra) - 使用ftp将apache-cassandra-3.11.8-bin.tar.gz压缩包传输到program文件夹
apache-cassandra-3.11.8: 下载地址
或链接:https://pan.baidu.com/s/1KO_C2x2nDa3QEWeGXTYPwQ
提取码:f3c7 - 解压缩到本文件夹
命令:tar -zxvf apache-cassandra-3.11.8-bin.tar.gz
使用ls命令查看到解压文件apache-cassandra-3.11.8
[lh@docker-node7 ~/program]# ls
apache-cassandra-3.11.8 apache-cassandra-3.11.8-bin.tar.gz
- 移动apache-cassandra-3.11.8到cassandra文件夹,命令如下;
[lh@docker-node7 ~/program]# mv apache-cassandra-3.11.8 ../cassandra
[lh@docker-node7 ~/program]# cd ../cassandra
[lh@docker-node7 ~/cassandra]# ls apache-cassandra-3.11.8
到此,cassandra安装完毕,接下来开始cassandra.yaml配置文件的编辑。
二、Cassandra文件配置
若想要在vim文本编辑中使用鼠标,可使用命令
:set mouse=a如果配置文件内容过多,要对指定项进行配置修改,可通过搜索迅速定位,命令
/rpc_address #回车(查看下一项请按“n”)修改 cassandra.yaml 配置文件,配置第一台为seeds
seeds:用来发现节点的,然后把他们加入集群。实际上就是每台机器cassandra启动以后,会和自己配置的seed机器通信,seed节点就把它加入集群配置中去。
我们这里一共有三个节点:10.3.1.15、10.3.1.16、10.3.1.17
第一台(docker-node5)配置:
cluster_name: Cassandra Cluster’
-seeds: “10.3.1.15”
listen_address: 10.3.1.15
start_rpc: true
rpc_address: 10.3.1.15
第二台(docker-node6)配置:
cluster_name: Cassandra Cluster’
-seeds: “10.3.1.15”
listen_address: 10.3.1.16
start_rpc: true
rpc_address: 10.3.1.16
第三台(docker-node7)配置:
cluster_name: Cassandra Cluster’
-seeds: “10.3.1.15”
listen_address: 10.3.1.17
start_rpc: true
rpc_address: 10.3.1.17
三、启动Cassandra
首先启动seeds
[lh@docker-node5 ~/cassandra/apache-cassandra-3.11.8/bin]# ./cassandra -f
然后启动另两个节点,或可使用命令:
[lh@docker-node6 ~/cassandra/apache-cassandra-3.11.8/bin]# ./cassandra
[lh@docker-node7 ~/cassandra/apache-cassandra-3.11.8/bin]# ./cassandra
四、查看集群状态
以上启动完毕,要查看cassandra集群状态,检查是否部署成功。基本命令:
./nodetool ring 查询环状
./nodetool status 查看集群物理机状态
出现如下所示结果,表明集搭建成功
[lh@docker-node5 ~/cassandra/apache-cassandra-3.11.8/bin]#./nodetool status
Datacenter: datacenter1
======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving
– Address Load Tokens Owns (effective) Host ID Rack UN 10.3.1.17 253.36 KiB 256 67.0%
7c865b34-2f95-4eb7-9b5a-fa2e4e8db4fa rack1 UN 10.3.1.16 368.65 KiB
256 65.6% 9c586c92-998e-4583-97ea-a1654121c81c
rack1 UN 10.3.1.15 147.22 KiB 256 67.5%
0d92f897-1a49-44b4-9479-8b40fcba3ffe rack1
如果需要重启cassandra,则要释放端口7199,KILL对应进程
[lh@docker-node5 ~/cassandra/apache-cassandra-3.11.8/bin]# lsof -i:7199
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1854541 lh 71u IPv4 735843018 0t0 TCP
localhost:7199 (LISTEN)
[lh@docker-node5
~/cassandra/apache-cassandra-3.11.8/bin]# kill -9 1854541
启动cql服务,连接指定主机ip端口。命令:
./cqlsh yaml里面的rpc_address(默认是127.0.0.1,但是如果配置了IP就不能用127.0.0.1登录),如下图所示:
[lh@docker-node5 ~/cassandra/apache-cassandra-3.11.8/bin]#./cqlsh 10.3.1.17
Connected to Cassandra Cluster at 10.3.1.17:9042.
[cqlsh 5.0.1 | Cassandra 3.11.8 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
查看键空间
cqlsh>desc keyspaces;
system_traces system_schema system_auth system system_distributed