9

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

出现以下错误:

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

4

2 回答 2

12

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

-Dcassandra.ignore_dc=true

如果启动成功,执行:

nodetool repair
nodetool cleanup

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

于 2017-08-24T15:18:47.780 回答
7

当节点启动并看到它有信息表明它以前是不同数据中心的一部分时,就会发生这种情况。如果数据中心在先前启动时不同,然后被更改,则会发生这种情况。

在您的情况下,您很可能DseSimpleSnitch根据该节点的工作负载使用哪个名称数据中心。以前,该节点是在启用 Graph 的情况下启动的,这会将名称变为Graph. 现在尝试在未启用 Graph 的情况下启动它会导致它命名Cassandra为默认的 Datacenter。

使用该-Dcassandra.ignore_dc=true标志将允许您继续,但更好的解决方案是切换到GossipingPropertyFileSnitch并为此机器指定一个专用的数据中心名称。

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

于 2016-08-15T21:21:13.440 回答