无法启动Cassandra - Snitch的Datacenter与之前的不同

say*_*iva 5 datastax-enterprise datastax cassandra-3.0

我试图在我的本地启动DSE 5.0.1 Cassandra(单节点).

得到以下错误:

CassandraDaemon.java:698 - 如果snitch的数据中心(Cassandra)与以前的数据中心(Graph)不同,则无法启动节点.请修复snitch配置,停用并重新启动此节点或使用标志-Dcassandra.ignore_dc = true

小智 10

如果您使用的是GossipingPropertyFileSnitch,请使用该选项启动Cassandra

-Dcassandra.ignore_dc=true
Run Code Online (Sandbox Code Playgroud)

如果成功启动,请执行:

nodetool repair
nodetool cleanup
Run Code Online (Sandbox Code Playgroud)

之后,Cassandra应该能够在没有ignore选项的情况下正常启动.


Rus*_*ssS 6

当节点启动并且看到它具有指示它以前是其他数据中心的一部分的信息时,会发生这种情况.如果数据中心在先前启动时不同,然后更改,则会发生这种情况.

在您的情况下,您最有可能DseSimpleSnitch根据该节点的工作负载使用Datacenter的名称.以前,节点是在启用Graph的情况下启动的,该名称将名称设置为Graph.现在尝试在没有启用Graph的情况下启动它会导致它命名为Datacenter Cassandra,这是默认设置.

使用该-Dcassandra.ignore_dc=true标志将允许您继续,但更好的解决方案是切换到GossipingPropertyFileSnitch并为该计算机提供专用的数据中心名称.

另一个选项(如果您只是测试)是擦除数据目录,因为这将清除以前标记该节点的数据中心的信息.这很可能是sudo rm -R /var/lib/cassandra/