Cassandra datastax群集尝试连接死节点
当我启动集群时,我可以在日志中看到它总是试图连接到一个我甚至找不到的死节点。 奇怪的是,当我运行nodetool ring或nodetool status时,我再也找不到这个死去的主机了。这意味着我不能通过执行nodetool removenode来删除它。 我猜是其他人将这个节点添加到集群中的,但我不知道它是如何被删除的。 我应该如何解决它?Cassandra datastax群集尝试连接死节点,cassandra,datastax,Cassandra,Datastax,当我启动集群时,我可以在日志中看到它总是试图连接到一个我甚至找不到的死节点。 奇怪的是,当我运行nodetool ring或nodetool status时,我再也找不到这个死去的主机了。这意味着我不能通过执行nodetool removenode来删除它。 我猜是其他人将这个节点添加到集群中的,但我不知道它是如何被删除的。 我应该如何解决它? 非常感谢 nodetool removenode在过去被证明是有问题的,有几种方法可以解决这个问题 你是哪个版本的?如果您正在运行新的2.2版本,则可以
非常感谢
nodetool removenode
在过去被证明是有问题的,有几种方法可以解决这个问题
你是哪个版本的?如果您正在运行新的2.2版本,则可以使用nodetool刺客
:
$ nodetool -u cassandra -pw cassandra assassinate 10.0.0.100
基本上,这已经是一个足够大的问题了,这使它在2.2版中升级为nodetool命令。如果在2.2之前的版本上运行,则可以通过JMX术语工具()强制删除节点:
嗨,亚伦,谢谢你的帮助!我通过以下方式解决了这个问题:我没有测试你的方法,但我认为它也可以。顺便说一下,版本为2.0.1的用户通过以下方式解决了此问题:
$>open localhost:7199
#Connection to localhost:7199 is opened
$>bean org.apache.cassandra.net:type=Gossiper
#bean is set to org.apache.cassandra.net:type=Gossiper
$>run unsafeAssassinateEndpoint 10.0.0.100
#calling operation unsafeAssassinateEndpoint of mbean org.apache.cassandra.net:type=Gossiper
#operation returns:
null
$>quit
#bye