【问题标题】:Cassandra restoring from snapshot not showing correct tokensCassandra 从快照恢复未显示正确的令牌
【发布时间】:2017-11-23 14:01:38
【问题描述】:

我已关注this link 恢复 cassandra 快照。

重启第一个节点后,我发现 ring token 和我在 cassandra.yaml 中指定的 initial_token:

我正在使用 Cassandra 3.7。

我正在使用以下命令来验证 cassandra.yaml 中提供的令牌并被 cassandra 节点使用,

cat /etc/cassandra/cassandra.yaml | grep initial_token
nodetool -u <usr> -pw <pwd> ring | grep <ip> | awk '{print $NF ", "}' | xargs

我错过了什么吗? 为什么我会为上述命令获得不同的令牌集?

欢迎提出任何意见或问题!

谢谢!

MM

【问题讨论】:

  • 您使用的是num_tokens: 1 吗?如果没有,则需要在 yaml 中指定节点的所有令牌。我们需要的格式是“initial_token: token_value, token_value, token_value”。当然,该字符串中会有 256 个“token_value”
  • 感谢@LHWizard 的回复!不,我正在使用 num_tokens: 256 是的,我在 cassandra.yml 文件中为 256 initial_token 指定了相同的值,“initial_token: token_value1, token_value2, ...”

标签: cassandra cassandra-3.0


【解决方案1】:

我也遇到过这个问题,Cassandra 继续使用自动生成的令牌。 Cassandra 生成令牌是因为 cassandra.yaml 中没有提到 initial_tokens 值,这是 Cassandra 第一次启动的时候。

理想情况下,根据文档,我们可以更改正在运行的 Cassandra 节点的 initial_tokens 值;通过更新 cassandra.yaml 并重新启动 cassandra。

但由于它不起作用,我从一开始就使用了更新了 initial_tokens 值的 cassandra.yaml。这使得 Cassandra 从第一次启动时就不会自动生成令牌并继续使用 cassandra.yaml 中提到的令牌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-07
    • 2014-10-17
    • 2018-12-05
    • 2022-06-15
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多