cassandra - Cassandra 集群中的 IP 交换

标签 cassandra datastax cassandra-2.0 scylla

我们有健康运行的 3 节点 cassandra 集群,但由于某些问题,我们需要交换所有 3 节点 IP 地址。

基本上,我们想要将旧的 cassandra 服务器 IP 地址交换为新的 cassandra 服务器 IP 地址。 我的问题是:-

1) 我们需要遵循什么特定程序来避免出现任何问题?

2) 或者只是修改 rpc_address、listen_address、seeds、peers 表等并启动 cassandra 节点?

请帮忙,谢谢

最佳答案

您已经确定了大部分要采取的步骤。另外,请确保一次执行一个节点的步骤:

  1. cassandra.yaml 中更新 rpc_address、listen_address、seeds 以及对先前 IP 地址的任何引用。另外,请确保将 auto_bootstrap 设置为 false(默认情况下省略该指令,默认值为 true)。
  2. 根据您的安装情况,另请查看 cassandra-topology.propertiescassandra-rackdc.properties
  3. 停止 cassandra 服务
  4. 更改盒子的 IP 地址(即 ifconfig、添加新路由等)
  5. cassandra-env.sh 中包含以下指令以及之前的 IP 地址: JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=previous_ip_address
  6. 在节点中启动 Cassandra 服务。等到 nodetool status 将其报告为 UN,您应该注意到报告了新的 IP 地址
  7. 如果您在 cassandra.yml 中添加了 auto_bootstrap 指令,请将其删除\
  8. cassandra-env.sh 中删除 cassandra.replace_address 指令
  9. 在不同的节点中重复

关于cassandra - Cassandra 集群中的 IP 交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57452474/

相关文章:

hadoop - Cassandra-Hadoop集成

hadoop - WSO2 BAM集群

Cassandra 按非聚集键对结果进行排序

linux - 如何在 Linux Ubuntu 上配置 Cassandra 的访问权限

cassandra - 如何防止 Cassandra 提交日志填满磁盘空间

elasticsearch - Elasticsearch与Cassandra集成

mysql - Kubernetes:在 Ubuntu 服务器中运行持久性 pods cassandra/mysql

python - CqlEngine - sync_table() KeyError : 'cqlengine'

cassandra - Hibernate OGM 和 Kundera 有什么区别

Cassandra:通过组合键选择行