Reputation: 1032
When I started the cluster, I can see in the log it always try to connect to a dead node which I cannot even find. The strange thing is when I runned nodetool ring or nodetool status , I cannot find this dead host anymore. That means I cannot remove it by executing nodetool removenode . I guess somebody else had added this node to cluster, but I don`t know how did it get removed. How should I resolve it ? Thanks very much!
Upvotes: 2
Views: 627
Reputation: 57758
nodetool removenode
has proven problematic in the past, and there are a few ways to get around this.
Which version are you on? If you are running the new 2.2 version, you can use nodetool assassinate
:
$ nodetool -u cassandra -pw cassandra assassinate 10.0.0.100
Basically, this is enough of a problem that it was promoted to a nodetool command with version 2.2 thanks to CASSANDRA-7935. If you are running on a version prior to 2.2, you can force the removal of a node via the JMX Term tool (as documented here):
$>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
Upvotes: 2