当将新节点引导到cassandra环中时,如果RF为1,将插入新数据?

时间:2016-07-01 15:04:59

标签: cassandra datastax bootstrapping datastax-enterprise cassandra-2.1

据我所知,当您向启用虚拟节点的环添加新节点时,将为其分配一些令牌范围,并且数据将从环中的现有节点流式传输到新节点。当这个引导过程进行时,新节点将提供写入而不是读取。    假设在此过程进行时,如果必须在复制为1的新节点的令牌范围中插入新数据,则将其写入具有该令牌范围的旧节点和新节点,或者将其写入新节点。如果它只写入新节点,并且对新插入数据的请求将来自哪个节点将提供读取请求,因为新节点尚未完全加入环。

1 个答案:

答案 0 :(得分:2)

当加入Cassandra中的新节点时,节点将不会完全成为环中新标记的所有者,无论是读取还是写入操作,直到新数据完全流入其中。在您描述的过程中,数据仍将被写入拥有该令牌范围的原始节点(A),直到新节点(B)已完全加载数据。此时,节点B将广播一条消息,表明它现在是新令牌范围的所有者,并且所有未来的R / W请求将从A指向B.