Cassandra集群搭建

Cassandra集群部署

前提条件

安装java1.8、python2.7

一、Cassandra安装

  1. 首先创建压缩包存放文件夹program与Cassandra安装文件夹cassandra
    命令:mkdir program(cassandra)
  2. 使用ftp将apache-cassandra-3.11.8-bin.tar.gz压缩包传输到program文件夹
    apache-cassandra-3.11.8: 下载地址
    或链接:https://pan.baidu.com/s/1KO_C2x2nDa3QEWeGXTYPwQ
    提取码:f3c7
  3. 解压缩到本文件夹
    命令: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
  1. 移动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文件配置

  1. 若想要在vim文本编辑中使用鼠标,可使用命令:set mouse=a

  2. 如果配置文件内容过多,要对指定项进行配置修改,可通过搜索迅速定位,命令/rpc_address #回车(查看下一项请按“n”)

  3. 修改 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登录),如下图所示:
cassandra.yaml配置文件片段

[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


版权声明:本文为qq_42340309原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。