Bhu*_*wal 5 operations cassandra
为了删除一个节点(工作/不工作)哪个命令适用于哪种情况?
Jef*_*rsa 13
停用从离开节点流式传输数据.因此,您可以保证保持与开始操作时相同的一致性.
Removenode从拥有该范围的任何可用节点流式传输数据.根据您自修复后的时间和用于写入数据的一致性级别,您可能会违反一致性(甚至可能丢失数据).
通常情况下,如果可能,您应该选择退役.假设您有5个节点集群(AE),并且给定的写入将转到B,C和D.您使用仲裁进行编写,因此由于某种原因C关闭,但是写入B和D.当C返回时在线,D需要从群集中删除(您正在缩小规模,或更改驱动器,或其他东西).
如果D在线,则运行decommission,D将其数据发送到E - 您保留所有数据的2个副本,并且您将能够稍后运行修复以获得对C的写入.
如果D处于脱机状态,或者如果运行removenode而不是decommission,则可以从C而不是D进行流式传输.在这种情况下,您现在有2个副本(C和E)缺少数据.如果您在仲裁时读取,您现在可以点击C和E而不是B,并获得缺少数据的结果.修复可以解决这个问题,只要你的原始写入到多个节点,但如果你的原始写入只到一个节点,你实际上可能会丢失数据.
Assassinate是一种很少使用的工具,只能用于强制节点退出群集的工具.不执行流式传输.数据丢失的可能性要高得多,特别是如果您使用RF <3并使用CL <ALL写入.
| 归档时间: | 
 | 
| 查看次数: | 3022 次 | 
| 最近记录: |