无法更改Cassandra数据中心

时间:2019-11-26 16:07:43

标签: cassandra

通过sudo apt install -y cassandra安装cassandra之后,cassandra正在运行,但是我尚未配置cassandra.yamlcassandra-topology.properties。一旦配置了它们,cassandra就不会启动,因为Cannot start node if snitch's data center (0) differs from previous data center (datacenter1)

我真的需要使用标记-Dcassandra.ignore_dc=true?吗?这似乎是错误的方法

1 个答案:

答案 0 :(得分:1)

假设您不关心存储的数据,则可以通过删除data_file_directories中的所有内容来解决此问题。如果您未进行设置,则会在$CASSANDRA_HOME/data/data上找到它。

基本上,群集元数据被写入system键空间,该键空间使用本地复制策略(system在每个节点上都是唯一的)。在启动时,Cassandra会验证存储的元数据和正在传递的配置属性。当您更改有关节点的某些内容时,Cassandra会在与磁盘上的内容不匹配时对诸如cluster_namedcrack(可能还有其他一些)之类的特定属性引发错误

tl; dr;

您可能只需要删除system键空间的数据。

但是另一个选择是取消注释并设置data_file_directories。然后,将新节点的系统元数据写入那里,然后该节点将启动。