nodetool removenode在删除期间卡住了

jon*_*rry 9 cassandra

我有一个几乎空的小集群.通常nodetool removenode以10秒为单位完成.但是,我目前正在进行节点删除,这需要花费10分钟的时间,而且似乎没有取得任何进展.删除节点的其他请求将被拒绝,因为正在进行删除.我该如何解决这个问题?作为参考,这是输出到nodetool status:

Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns   Host ID                               Rack
DL  192.168.12.207  152.14 KB  256     32.2%  683d8351-c625-4d7f-99cc-61f6b73b0c56  rack1
UN  192.168.12.205  215.21 KB  256     37.2%  b66d5fff-ef1d-4fbf-a49a-43709df99a0c  rack1
UN  192.168.12.208  148.09 KB  256     30.6%  39b54771-59b8-49f7-8db8-9cf4523d6c8d  rack1
Run Code Online (Sandbox Code Playgroud)

此外,cassandra不在主机207(离开主机)上运行,而是在另外两台主机上运行.

编辑:似乎至少有一个令牌等待复制:

$ nodetool removenode status
RemovalStatus: Removing token (-9037887679483580088). Waiting for replication confirmation from [/192.168.12.205].
Run Code Online (Sandbox Code Playgroud)

jul*_*ccr 13

不知道哪个版本的Cassandra是有问题的那个版本.但是,如果nodetool removenode不起作用,根据Apache Cassandra Wiki,你应该尝试以下方法:

的removeNode

删除不再存在的节点分两步完成:

  bin/nodetool removenode <UUID> 

  bin/nodetool removenode force
Run Code Online (Sandbox Code Playgroud)

如果连接到该UUID的计算机被物理移除(或者不再运行Cassandra),则第一个命令将永远阻止.在运行第二个命令之前,只需在一两秒后单击Ctrl-C.显然,如果可能的话,最好首先停用节点,否则可能会丢失一些数据.

"bin/nodetool status"命令显示节点的UUID.

希望能帮助到你 .


Eri*_*erg 1

您可能遇到了一个已知的错误,CASSANDRA-6542