我在10节点集群上遇到cassandra节点的问题。 我首先在该节点上启动了一个decommission以将其从群集中删除。 退役当前处于活动状态,但此节点上的负载是无限时间的,我希望更快。
我想要做的是停止此节点并从另一个节点启动removenode
。
DataStax文档说明我们应该使用decommission
或removenode
,具体取决于节点的启动/关闭状态。但目标节点已经离开状态时,没有关于removenode
的信息。
所以我的问题是:是否有可能在已停止的节点已启用离开状态时启动removenode
?
答案 0 :(得分:3)
所以我的问题是:是否有可能在已停止的节点已启用离开状态时启动
removenode
?
上周我必须这样做,所以"是"这是可能的。
但是,请小心。当时,我正在努力在非生产环境中创建一个新的DC,所以我并不关心丢失节点上的数据(或DC中的数据)。我的想法是停止此节点并从另一个节点启动
removenode
。
你可以做到这一点。获取要删除的节点的主机ID,然后运行:
$ nodetool removenode 2e143c2b-0571-4c5d-22d5-9a2668648710
如果卡住, ctrl c ,并且(在同一节点上)你可以运行:
$ nodetool removenode force
答案 1 :(得分:0)
只有重新启动Cassandra中的某个节点,该节点才能停止使用。 其状态将从 UL 更改为 UN 。 该方法经过测试,之后卡桑德拉群集运行良好。
遵循此安全方法,删除触发工具以获取一致的数据。