cassandra 如果snitch的数据中心(...)与以前的数据中心(...)不同,则无法启动节点

qnzebej0  于 10个月前  发布在  Cassandra
关注(0)|答案(3)|浏览(118)

我正在尝试在本地启动DSE 5.0.1 Cassandra(单节点)。
我得到以下错误:
CassandraDaemon.java:698-如果snitch的数据中心(Cassandra)与以前的数据中心(Graph)不同,则无法启动节点。请修复snitch配置,停用并重新引导此节点或使用标志-Dcassandra.ignore_dc=true

jdg4fx2g

jdg4fx2g1#

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

-Dcassandra.ignore_dc=true

字符串
如果成功启动,请执行:

nodetool repair
nodetool cleanup


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

j8yoct9x

j8yoct9x2#

当节点启动并看到它具有指示它以前是不同数据中心的一部分的信息时,会发生这种情况。如果数据中心在之前的 Boot 中是不同的,然后被更改,则会发生这种情况。
在您的示例中,您最有可能使用DseSimpleSnitch,它根据该节点的工作负载来命名数据中心。以前,节点是在启用Graph的情况下启动的,这将名称变为Graph。现在,尝试在不启用Graph的情况下启动它,会导致它将数据中心命名为Cassandra,这是默认值。
使用-Dcassandra.ignore_dc=true标志将允许您继续,但更好的解决方案是切换到GossipingPropertyFileSnitch并为这台机器指定一个专用的数据中心名称。
另一个选项(如果您只是测试)是清除数据目录,因为这将清除先前标记节点数据中心的信息。这很可能是sudo rm -R /var/lib/cassandra/

ojsjcaue

ojsjcaue3#

在文件/etc/dse/cassandra/cassandra-rackdc.properties中更改数据中心名称时会发生此问题。
要解决此问题,请执行以下步骤:
1.清除以下目录(注意:如果您有数据,请首先使用cp命令将文件复制到备份文件夹(

cd /var/lib/cassandra/commitlog

sudo rm -rf *

cd /var/lib/cassandra/data

sudo rm -rf *

)进行备份
1.现在,使用以下命令启动DSE服务:

service dse start


1.使用以下命令检查列表节点的状态:

nodetool -h ::FFFF:127.0.0.1 status

相关问题