有没有可能在一个linux盒子里运行两个cassandra节点来形成一个集群(通过自定义端口)?

2cmtqfgy  于 2023-05-28  发布在  Linux
关注(0)|答案(1)|浏览(133)

我想知道是否有可能在一个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节点,那将是非常有帮助的。谢谢。

hjzp0vay

hjzp0vay1#

对于在一台服务器上运行多个节点,我会考虑使用cass-operator /k8ssandra,它将为您处理它。Cassandra 4将在单个操作系统上处理多个运行节点(没有某种形式的虚拟化),但3.11不会。
使用docker / k8s在本地运行3节点集群很容易,并且适合学习。
鉴于3.11将很快随着Cassandra 5的发布而退出社区支持,我建议此时使用Cassandra 4.1。

相关问题