优雅的Riak力量替换

时间:2013-01-29 10:47:27

标签: database nosql riak

这是一遍又一遍地阅读文档并没有为我澄清的事情。

一个。我有一个不健康,无法访问的节点 - 让我们称之为节点A - 我想从Riak集群中删除它,并用一个新的,健康的Node B替换。

湾我希望这样做,同时最大限度地减少群集流量,以便用节点A应该拥有的数据“重新填充”节点B.

℃。我假设我可以通过从节点A的数据的小时备份启动节点B来实现这一点

d。但是,由于节点名称发生变化(从节点A到节点B),我必须先将join节点B作为集群上的全新节点,然后使用cluster force-replace替换节点A与节点B.


我的问题是 - 这个过程会导致:

一个。节点B上现有的备份数据得到尊重,而Read Repair

仅填补了最后一小时的空白

湾或者,节点B上的备份数据被完全忽略(因为备份是针对“节点A”而运行节点是“节点B”)并且节点B正在刷新来自其他节点的流量,试图用数据填充它< b>从头开始。

也许我只是没有正确的阅读或花太多时间思考这个问题。让我知道这将如何运作。

谢谢!

1 个答案:

答案 0 :(得分:1)

开发:

riak-admin cluster force-replace做的是将分区的所有权重新分配给加入节点。您最终会在(A)处:将使用现有数据,剩余的小时将通过读取修复填写。

管道中有一些文档更改应该使此过程更加清晰。对不起您的任何困惑。

希望这有帮助,
Charlie Voiselle
cvoiselle@basho.com