【发布时间】:2016-04-20 18:48:02
【问题描述】:
我有一个包含 2 台机器(centos7 和 cassandra 3.4)192.168.0.175 和 192.168.0.174 的集群。种子是 192.168.0.175。
我只是想更改集群名称。应该是平安无事。
我在每个集群上都做了:
update system.local set cluster_name = 'America2' where key='local';我做了 nodetool 刷新
我用新名称更新了 cassandra.yaml
重新启动 cassandra。
当我 cqlsh any if 将我描述为连接到新的 cluster_name America2 时
当我运行 nodetool describecluster 时,它会显示旧的集群名称 America
如果我在两台机器上都停止 cassandra 并尝试重新启动它们,我会在日志中发现旧错误:
org.apache.cassandra.exceptions.ConfigurationException: Saved cluster name America != configured name America2
所以....我做错了什么!?
【问题讨论】:
-
我认为您可能需要停用节点,然后停止它们,在 yaml 中更改集群名称然后重新启动
-
我认为你离解决方案不远了:stackoverflow.com/questions/22006887/…
-
从我的感觉是
update of the system.local没有做这项工作。据我了解,当 Cassie 启动时会检查 cassandra.yaml 和 system.local。如果在两个地方都检查了名称,则所有内容都应该没有任何问题。所以,关于 cassandra.yaml 我确定......不确定我是否对 system.local 持久性进行了更改。 -
您在 yaml 中进行更改之前是否停止了 cassandra?
-
对于一个节点集群,上面的所有步骤都可以正常工作。测试更多以找出如何在多节点集群中执行此操作