【问题标题】:Adding new node cassandra 3.x添加新节点 cassandra 3.x
【发布时间】:2017-10-10 05:59:37
【问题描述】:

我们正在向现有的 cassandra 3.x 集群添加新节点。基本上遵循本文中概述的步骤 (https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html)。

目前,out 3.x 集群进行增量修复。我不能 100% 确定在我们进行节点清理之后是否需要做任何事情。具体来说,我们新添加的节点是否设置为按照上面列出的程序进行增量修复?

谢谢 马歇尔

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    添加节点涉及重新平衡集群中节点之间的令牌分配引导新节点。修复是一个定期维护过程,在添加节点过程中不一定需要它。

    对于令牌 redistribution 部分,简化示例是如果您最初有 20 个令牌和 4 个节点。如果足够随机,每个节点将是 5 个令牌的主节点。添加节点并更改配置时,20 个令牌将分配给 5 个节点,每个节点将成为 4 个令牌的主节点。当您运行 bootstrap 来添加新节点时,新节点知道哪些令牌属于它,它会流式传输来自其他现有节点的丢失令牌。引导完成后,现有节点上的 nodetool cleanup 将删除不再属于它们的令牌。综上所述,bootstrapping 新节点会根据分布重新分配令牌和对象到新节点。在此过程中您不需要 repair 来传输数据。 cleanup 将删除所有权已更改的对象。

    但是,修复是保证数据一致性的常规过程,增量或完整选项超出了谈论添加节点的范围。

    很好的参考,可以深入了解当您 change the topology of a cluster 时会发生什么

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-08
      • 2014-05-14
      • 2012-10-24
      • 1970-01-01
      • 2016-02-09
      • 2015-05-14
      • 2021-12-09
      相关资源
      最近更新 更多