我们正在向现有的cassandra 3.x集群添加新节点。基本上遵循本文中概述的步骤(https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html)。
目前,3.x集群执行增量修复。我不是百分之百确定的是我们在进行节点清理后是否需要做任何事情。具体来说,我们新添加的节点是否按照上面列出的步骤进行增量修复?
由于 马歇尔
答案 0 :(得分:0)
添加节点涉及在群集中的节点之间重新平衡令牌分发,并引导新节点。修复是定期维护过程,并且在添加节点过程中不一定需要它。
对于令牌重新分发部分,简化示例是您最初有20个令牌和4个节点。如果足够随机,则每个节点将是5个令牌的主节点。添加节点并更改配置时,20个令牌将分配到5个节点,每个节点将成为4个令牌的主节点。当您运行 bootstrap 添加新节点时,新节点将知道令牌属于哪个令牌,并且流将丢失来自其他现有节点的令牌。完成引导后,现有节点上的nodetool cleanup 将删除不再属于它们的令牌。总而言之, bootstrapping 新节点将将重新分发标记和流对象基于分发重新分配到新节点。在此过程中,您不需要修复来传输数据。 清理会删除所有权已更改的对象。
但是,修复是保证数据一致性的常规过程,增量或完整选项超出了讨论添加节点的范围。
时会发生什么情况的详细内容