通过sudo apt install -y cassandra
安装cassandra之后,cassandra正在运行,但是我尚未配置cassandra.yaml
和cassandra-topology.properties
。一旦配置了它们,cassandra就不会启动,因为Cannot start node if snitch's data center (0) differs from previous data center (datacenter1)
我真的需要使用标记-Dcassandra.ignore_dc=true?
吗?这似乎是错误的方法
答案 0 :(得分:1)
假设您不关心存储的数据,则可以通过删除data_file_directories
中的所有内容来解决此问题。如果您未进行设置,则会在$CASSANDRA_HOME/data/data
上找到它。
基本上,群集元数据被写入system
键空间,该键空间使用本地复制策略(system
在每个节点上都是唯一的)。在启动时,Cassandra会验证存储的元数据和正在传递的配置属性。当您更改有关节点的某些内容时,Cassandra会在与磁盘上的内容不匹配时对诸如cluster_name
,dc
,rack
(可能还有其他一些)之类的特定属性引发错误
tl; dr;
您可能只需要删除system
键空间的数据。
但是另一个选择是取消注释并设置data_file_directories
。然后,将新节点的系统元数据写入那里,然后该节点将启动。