【Cassandra】centos7搭建cassandra集群

Cassandra集群搭建

1、准备
采用3台CentOS x64系统(虚拟机)

为每台虚拟机设置静态IP,确保三台防火墙已关闭

192.168.100.20 (seed)
192.168.100.30 (seed)
192.168.100.40

选择 20、30两台机器作为集群的种子节点(seed)。

种子节点的作用:

一个新节点加入集群时,需要通过种子节点来发现集群中其它节点,
需要至少一个活跃的种子节点可以连接,一旦节点加入这个集群,知道了集群中的其它节点, 这个节点在下次启动的时候就不需要种子节点了。
对于种子节点没有特殊要求,可以设置任何一个节点为种子。

2、 改配置
需要在每台机器的配置文件cassandra.yml中进行一些修改,包括:

cluster_name 集群名字,每个节点都要一样
seeds 填写2个节点的ip作为 种子节点,每个节点的内容都要一样
listen_address 填写当前节点所在机器的IP地址
rpc_address 填写当前节点所在机器的IP地址

具体修改如下:

192.168.100.20 机器修改的内容:

cluster_name: 'Test Cluster'
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
         - seeds: "192.168.100.20,192.168.100.30"
listen_address: 192.168.100.20
rpc_address: 192.168.100.20

192.168.100.30 机器的修改内容

cluster_name: 'Test Cluster'
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
         - seeds: "192.168.100.20,192.168.100.30"
listen_address: 192.168.100.30
rpc_address: 192.168.100.30

192.168.100.40 机器的修改内容

cluster_name: 'Test Cluster'
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
         - seeds: "192.168.100.20,192.168.100.30"
listen_address: 192.168.100.40
rpc_address: 192.168.100.40

修改完成后,启动每个节点。

可以在192.168.100.20机器上使用 ./nodetool status 命令进行测试

[bta60@moban bin]$ ./nodetool status

或者

[oracle@oracle19c-3 apache-cassandra-3.9]$ sh start.sh status

结果如下:

************cassandra***************
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens       Owns (effective)  Host ID                               Rack
UN  192.168.100.40  145.99 KiB  256          64.9%             c3b5c6f5-5bf8-4059-9caf-a0f10c85056e  rack1
UN  192.168.100.30  152.79 KiB  256          66.2%             2afec44e-47e8-4c34-977c-fd857f0f6466  rack1
UN  192.168.100.20  217.64 KiB  256          68.9%             0cce8919-1867-49b9-a298-9143731e760f  rack1
### CentOS 7 上安装 Apache Cassandra 的步骤 #### 准备工作 在开始之前,确保服务器已更新至最新版本并满足最低硬件需求。Cassandra 需要 Java 环境支持,因此需要先安装 OpenJDK 或 Oracle JDK。 ```bash sudo yum update -y sudo yum install java-1.8.0-openjdk-devel -y ``` 验证 Java 是否成功安装: ```bash java -version ``` 如果显示 `openjdk version "1.8.x"` 则表示安装成功[^1]。 --- #### 下载和解压 Cassandra 下载官方发布的 Cassandra 压缩包,并将其解压缩到指定位置。 ```bash cd /opt sudo wget https://downloads.apache.org/cassandra/3.11.4/apache-cassandra-3.11.4-bin.tar.gz sudo tar -xzvf apache-cassandra-3.11.4-bin.tar.gz sudo ln -s apache-cassandra-3.11.4 cassandra ``` 创建必要的数据目录结构以便后续配置使用: ```bash sudo mkdir -p /var/lib/cassandra/{data,commitlog,saved_caches} sudo chown -R $(whoami):$(whoami) /var/lib/cassandra/ ``` 这些路径分别用于存储数据文件、提交日志以及缓存文件[^2]。 --- #### 修改配置文件 进入 Cassandra 解压后的 conf 文件夹,编辑核心配置文件 `cassandra.yaml`。 ```yaml cluster_name: 'My Test Cluster' data_file_directories: - /var/lib/cassandra/data commitlog_directory: /var/lib/cassandra/commitlog saved_caches_directory: /var/lib/cassandra/saved_caches seeds: "127.0.0.1" listen_address: 127.0.0.1 rpc_address: 0.0.0.0 broadcast_rpc_address: 127.0.0.1 start_native_transport: true native_transport_port: 9042 ``` 以上参数解释如下: - **cluster_name**: 设置集群名称。 - **data_file_directories**, **commitlog_directory**, 和 **saved_caches_directory**: 数据、提交日志及缓存的具体存储路径。 - **seeds**: 种子节点 IP 地址,在单机环境中可以设为本地回环地址。 - **listen_address** 和 **rpc_address**: 分别定义监听网络接口和服务端口绑定方式[^2]。 保存修改后退出。 --- #### 启动服务 为了方便管理,可以通过 systemd 创建一个启动脚本 `/usr/lib/systemd/system/cassandra.service` 并写入以下内容: ```ini [Unit] Description=Apache Cassandra Database Service After=syslog.target network.target [Service] User=$(whoami) ExecStart=/opt/cassandra/bin/cassandra -f Restart=on-failure [Install] WantedBy=multi-user.target ``` 重新加载 systemctl 配置并尝试启动 Cassandra: ```bash sudo systemctl daemon-reload sudo systemctl start cassandra sudo systemctl enable cassandra ``` 检查状态确认运行正常: ```bash sudo systemctl status cassandra ``` 如果没有错误提示,则说明部署完成。 --- #### 测试连接 通过 CQL Shell 工具测试数据库是否可用: ```bash /opt/cassandra/bin/cqlsh ``` 输入命令查看当前键空间列表: ```sql DESCRIBE KEYSPACES; ``` 如果有返回结果表明环境搭建成功。 --- ### 注意事项 - 如果计划扩展到多台机器组成的分布式架构,请调整种子节点 (Seeds) 参数以适应实际拓扑布局。 - 对于生产用途推荐优化 JVM 参数来提升性能表现,具体方法参见文档中的调优章节[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值