在单Linux主机运行双Cassandra 3.11节点的可行性与配置方法
单台Linux主机部署多节点Cassandra 3.11(测试/学习场景)
完全可以在单台Linux主机上运行多个Cassandra 3.11节点(包含一个seed节点),用来做学习或测试。你已经搭建好第一个seed节点,只需要针对第二个节点修改配置文件中的目录路径和冲突端口,就能正常启动并加入集群。
具体配置修改步骤
针对你创建的/data2/节点,修改其cassandra.yaml配置文件,重点调整以下内容:
1. 替换数据/日志目录路径
把所有指向/data/data_cassandra/的路径,替换为/data2/下的对应子目录:
hints_directory: /data2/hints data_file_directories: - /data2/data commitlog_directory: /data2/commitlog saved_caches_directory: /data2/saved_caches
2. 修改冲突端口
所有与第一个节点重复的端口都要调整,避免端口占用:
storage_port: 7010 # 原7000,节点间通信端口 ssl_storage_port: 7011 # 原7001,SSL节点通信端口 native_transport_port: 9043 # 原9042,CQL客户端连接端口 rpc_port: 9161 # 原9160,Thrift服务端口
3. 保持Seed节点配置不变
第二个节点的seed配置要指向已运行的seed节点IP,确保能正常加入集群:
seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "192.168.0.2"
4. 调整JMX端口(必改,否则启动失败)
Cassandra默认JMX端口是7199,第二个节点需要修改这个端口避免冲突。可以编辑cassandra-env.sh文件,添加或修改:
JMX_PORT="7200"
或者在启动时通过参数指定:
cassandra -f -Dcom.sun.management.jmxremote.port=7200
启动第二个节点
启动时要指定第二个节点的配置文件路径,确保加载正确的配置:
cassandra -f -Dcassandra.config=file:///path/to/your/data2/cassandra.yaml
注:启动前要确保/data2/下所有子目录的权限和第一个节点一致,Cassandra进程需拥有读写权限。
启动完成后,可使用nodetool查看集群状态(需指定对应JMX端口):
nodetool -p 7200 status
内容的提问来源于stack exchange,提问作者Alfred
相关产品推荐
相关产品推荐

