【问题标题】:decommission cassandra nodes after migration having initial_tokens set迁移后停用 cassandra 节点并设置了 initial_tokens
【发布时间】:2019-01-06 12:37:07
【问题描述】:

Cassandra 版本:Apache Cassandra 3.7 我已经按照以下链接从 datastax 迁移了一个 cassandra 集群,我们在其中将 inital_tokens 设置为新集群。 https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsSnapshotRestoreNewCluster.html

迁移成功,我的问题是我们在新集群上设置了类似于旧集群的 inital_tokes,现在我想停用新集群的一些节点。 1、使用nodetool decommission命令前需要注意什么或需要做哪些改动 2. 如果我通过停用删除节点,数据会发生什么,因为在所有 cassandra 节点中仍然设置了 initial_tokens

请帮我解答以上问题

【问题讨论】:

  • 是否所有键空间的复制因子都设置为 > 1?如果是,我们可能会停用节点并重新计算现有节点的令牌范围,以便可以将停用的节点范围重新分配给其他一些节点。然后在所有节点上运行 nodetool 修复。
  • 是的,所有键空间的复制因子都设置为 3。我们也在使用 Vnode,重新计算令牌范围是否也适用于 vnode 配置
  • 我们不需要的 vnodes
  • 感谢 Praneeth,这意味着我可以直接停用节点,cassandra 将平衡数据,而无需更改任何内容。
  • 但如果设置了 initial_tokens,它将覆盖 num_tokens 设置。我们不能同时使用 Vnodes 和 Intial 代币

标签: cassandra datastax cassandra-3.0


【解决方案1】:

更新: 根据文档http://cassandra.apache.org/doc/latest/configuration/cassandra_config_file.html,我们可以使用 initial_tokens 和 num_tokens。但是,最初在设置集群时,initial_tokens 设置将优先于 num_tokens,并且从随后的重启开始,num_tokens 将优先于 initial_tokens 设置。

所以在我的使用过程中,我已经在cassandra集群上进行了滚动重启,然后开始一一退役。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2016-12-07
    • 2018-10-21
    相关资源
    最近更新 更多