我想知道是否有可能在一个Linux盒子中运行多个Cassandra 3.11节点(一个是种子)。目的可以是学习/测试。
假设我已经为第一个Cassandra节点创建了一个目录/data1/
,它将是seed
节点。然后我创建了/data1/data/
和/data1/logs/
目录,用于存储Cassandra数据和日志。
然后我编辑cassandra.yaml文件如下;
cluster_name: 'Test Cluster'
hints_directory: /data/data_cassandra/hints
data_file_directories:
- /data/data_cassandra/data
commitlog_directory: /data/data_cassandra/commitlog
saved_caches_directory: /data/data_cassandra/saved_caches
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "192.168.0.2"
storage_port: 7000
ssl_storage_port: 7001
listen_address: 192.168.0.2
broadcast_address: 192.168.0.2
native_transport_port: 9042
rpc_address: 0.0.0.0
rpc_port: 9160
broadcast_rpc_address: 192.168.0.2
endpoint_snitch: SimpleSnitch
这工作得很好,我的Cassandra节点1将出现。
然后我为第一个Cassandra节点创建了一个目录/data2/
,它将是seed
节点。然后,我创建了/data2/data/
和/data2/logs/
目录,用于存储Cassandra节点2数据和日志。
有没有可能创建一个yaml文件来启动和运行我的第二个cassandra节点?假设将节点2的端口7000
更改为7010
。是否支持此功能?
如果有人能告诉我如何在一个Linux机器上运行两个Cassandra节点,那将是非常有帮助的。谢谢。
1条答案
按热度按时间hjzp0vay1#
对于在一台服务器上运行多个节点,我会考虑使用cass-operator /k8ssandra,它将为您处理它。Cassandra 4将在单个操作系统上处理多个运行节点(没有某种形式的虚拟化),但3.11不会。
使用docker / k8s在本地运行3节点集群很容易,并且适合学习。
鉴于3.11将很快随着Cassandra 5的发布而退出社区支持,我建议此时使用Cassandra 4.1。