【发布时间】:2014-10-08 23:08:56
【问题描述】:
运行 Cassandra 1.0,我将环从 5 个节点缩小到 4 个。为此,我在要删除的节点上运行 nodetool decommission,然后在该主机上停止 cassandra 并使用 nodetool move 和 @ 987654323@ 更新剩余 4 个节点上的令牌以重新平衡集群。
我的种子节点是 A 和 B。我删除的节点是 C。
这在 6-7 天内似乎运行良好,但现在我的四个节点中的一个认为退役的节点仍然是环的一部分。
为什么会发生这种情况,从环中完全移除退役节点的正确方法是什么?
这是一个节点上nodetool ring 的输出,它仍然认为已退役的节点是环的一部分:
Address DC Rack Status State Load Owns Token
127605887595351923798765477786913079296
xx.x.xxx.xx datacenter1 rack1 Up Normal 616.17 MB 25.00% 0
xx.xxx.xxx.xxx datacenter1 rack1 Up Normal 1.17 GB 25.00% 42535295865117307932921825928971026432
xx.xxx.xx.xxx datacenter1 rack1 Down Normal ? 9.08% 57981914123659253974350789668785134662
xx.xx.xx.xxx datacenter1 rack1 Up Normal 531.99 MB 15.92% 85070591730234615865843651857942052864
xx.xxx.xxx.xx datacenter1 rack1 Up Normal 659.92 MB 25.00% 127605887595351923798765477786913079296
这是nodetool ring 在其他 3 个节点上的输出:
Address DC Rack Status State Load Owns Token
127605887595351923798765477786913079296
xx.x.xxx.xx datacenter1 rack1 Up Normal 616.17 MB 25.00% 0
xx.xxx.xxx.xxx datacenter1 rack1 Up Normal 1.17 GB 25.00% 42535295865117307932921825928971026432
xx.xx.xx.xxx datacenter1 rack1 Up Normal 531.99 MB 25.00% 85070591730234615865843651857942052864
xx.xxx.xxx.xx datacenter1 rack1 Up Normal 659.92 MB 25.00% 127605887595351923798765477786913079296
更新:
我尝试在节点 B 上使用 nodetool removetoken 删除该节点,该节点仍然声称节点 C 在环中。该命令运行了 5 个小时,似乎没有做任何事情。唯一的变化是,当我在节点 B 上运行 nodetool ring 时,节点 C 的状态现在是“离开”。
【问题讨论】:
标签: cassandra