Cassandra节点 - 重建与修复

Ste*_*vic 18 cassandra

有什么区别:

一个) nodetool rebuild

b) nodetool repair [-pr]

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

Ser*_*rán 23

nodetool rebuild:类似于引导过程(向集群添加新节点时),但对于数据中心.这里的过程主要是从已经存在的节点到新节点的流传输(新的节点是空的).因此,在定义非常快的节点的键范围之后,其余的可以被视为复制操作.

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

希望能帮助到你!