为了删除节点(工作/不工作),哪种命令在哪种情况下适用?
最佳答案
退役从离开节点流传输数据。因此,可以保证保持与开始操作时相同的一致性。
Removenode从拥有该范围的任何可用节点中流式传输数据。您有可能会违反一致性(甚至可能会丢失数据),具体取决于修复后的时间以及用于写入数据的一致性级别。
通常,如果可能的话,您应该首选退役。假设您有5个节点群集(AE),并且给定的写操作将到达B,C和D。您使用仲裁进行写操作,因此由于某种原因,C处于关闭状态,但是写操作转到了B和D。当C返回时联机时,需要将D从集群中删除(您正在缩小规模,更改驱动器或进行其他操作)。
暗杀是很少使用的工具,仅应用于将节点强制出集群。不执行流式传输。数据丢失的机会明显更高,尤其是如果您使用RF
关于cassandra - #Cassandra-nodetool removenode,退役,暗杀,更换有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37103072/