22

有什么区别:

一种)nodetool rebuild

b)nodetool repair [-pr]

换句话说,各个命令究竟做了什么?

4

1 回答 1

30

nodetool rebuild:类似于引导过程(当您将新节点添加到集群时),但用于数据中心。这里的过程主要是从已经活跃的节点到新节点的流式传输(新节点是空的)。所以在为节点定义了非常快的键范围之后,剩下的可以看作是一个复制操作。

nodetool repair -pr:不是复制操作,被修复的节点不为空,它已经包含数据,但是如果复制因子大于1,则需要将数据与其余副本上的数据进行比较,如果有是一个差异,它将被纠正。该过程涉及大量流式传输,但不是数据流式传输:被修复的节点请求一个默克尔树(基本上是一棵哈希树),以验证两个节点拥有的信息是否相同,如果不是,它请求一个有任何差异的数据部分的完整流(因此所有副本都具有相同的数据)。如果流式传输此哈希值比流式传输验证之前的整个数据更快,则此方法的工作原理是假设两个节点上的大多数数据都是相同的,除了这里和那里的一些差异。

希望能帮助到你!

于 2013-11-25T19:13:24.713 回答