千家信息网

部署cassandra集群

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,部署cassandra集群一、环境准备1.1、下载二进制源码包wget http://apache.mirrors.hoobly.com/cassandra/3.11.5/apache-cassand
千家信息网最后更新 2025年02月01日部署cassandra集群

部署cassandra集群

一、环境准备

1.1、下载二进制源码包

wget http://apache.mirrors.hoobly.com/cassandra/3.11.5/apache-cassandra-3.11.5-bin.tar.gz

1.2、节点准备

# 准备三台节点192.168.100.226192.168.100.227192.168.100.228# ansible配置# 因为是测试环境,这里就直接配置密码,不去麻烦的配置免密验证了。[root@master ~]# cat /etc/ansible/hosts[casd]192.168.100.226 ansible_ssh_user='root' ansible_ssh_pass='test123'192.168.100.227 ansible_ssh_user='root' ansible_ssh_pass='test123'192.168.100.228 ansible_ssh_user='root' ansible_ssh_pass='test123'

1.3、创建cassandra用户

# 创建用户ansible casd -m user -a "name=cassandra state=present"# 修改密码ansible casd -m shell -a "echo cassandra | passwd --stdin cassandra"# 将cassandra二进制包拷贝到部署节点上。ansible casd -m copy -a "src=apache-cassandra-3.11.5.tar.gz dest=/home/cassandra/apache-cassandra-3.11.5.tar.gz"# 解压源码包ansible casd -m shell -a "cd /home/cassandra/; tar -zxvf apache-cassandra-3.11.5.tar.gz"

1.4、java环境准备

# 拷贝jdk至部署节点ansible casd -m copy -a "src=java-1.8.0-amazon-corretto-devel-1.8.0_212.b04-2.x86_64.rpm dest=/root"# 安装jdkansible casd -m shell -a "yum install -y java-1.8.0-amazon-corretto-devel-1.8.0_212.b04-2.x86_64.rpm"# 验证jdk``` bash[root@localhost ~]# java -versionopenjdk version "1.8.0_212"OpenJDK Runtime Environment Corretto-8.212.04.2 (build 1.8.0_212-b04)OpenJDK 64-Bit Server VM Corretto-8.212.04.2 (build 25.212-b04, mixed mode)

1.5、配置用户环境变量

# 切换用户[root@localhost ~]# su - cassandra Last login: Fri Dec  6 04:27:53 EST 2019 on pts/1# 配置环境变量[cassandra@localhost ~]$ vi .bash_profileexport CASSANDRA_HOME=/home/cassandra/apache-cassandra-3.11.5export JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-correttoexport PATH=$JAVA_HOME/bin:$CASSANDRA_HOME/bin:$PATH# 加载环境变量[cassandra@localhost ~]$ source .bash_profile

二、部署cassandra

2.1、配置文件

修改配置文件 /home/cassandra/apache-cassandra-3.11.5/conf/cassandra.yaml

cluster_name: 'test'data_file_directories:    - /home/cassandra/apache-cassandra-3.11.5/datacommitlog_directory: /home/cassandra/apache-cassandra-3.11.5/data/commitlogsaved_caches_directory: /home/cassandra/apache-cassandra-3.11.5/data/saved_cachesseed_provider:    - class_name: org.apache.cassandra.locator.SimpleSeedProvider      parameters:          - seeds: "192.168.100.226"  # 因子listen_address: 192.168.100.226       # 监听地址,不可以为127.0.0.1start_rpc: truerpc_address: 192.168.100.226          # rpc监听地址,不可以为127.0.0.1

2.2、各节点

各节点的 listen_addressrpc_address 需要按节点配置,且不能使用 localhost,因子 seeds 配置为第一个启动的节点。

First Node--------------seeds: "192.168.100.226"listen_address: 192.168.100.226rpc_address: 192.168.100.226Second Node---------------seeds: "192.168.100.226"listen_address: 192.168.100.227rpc_address: 192.168.100.227Third Node---------------seeds: "192.168.100.226"listen_address: 192.168.100.228rpc_address: 192.168.100.228

三、启动cassandra服务

3.1、启动服务

# 先启动226, 使用-f选项启动在前台/home/cassandra/apache-cassandra-3.11.5/bin/cassandra# 再启动其余的节点/home/cassandra/apache-cassandra-3.11.5/bin/cassandra/home/cassandra/apache-cassandra-3.11.5/bin/cassandra

3.2、验证服务

使用 nodetool status 验证服务

[cassandra@localhost ~]$/home/cassandra/apache-cassandra-3.11.5/bin/nodetool statusDatacenter: datacenter1=======================Status=Up/Down|/ State=Normal/Leaving/Joining/Moving--  Address          Load       Tokens       Owns (effective)  Host ID                               RackUN  192.168.100.226  302.76 KiB  256          69.2%             723cb923-d19c-4dea-8124-c4503dab4d75  rack1UN  192.168.100.227  295.05 KiB  256          66.3%             5bbeeb09-9bf4-4e45-a7a1-168e4f87186f  rack1UN  192.168.100.228  239.96 KiB  256          64.5%             78677dd0-797e-45b0-a34a-23842927af35  rack1
0