【问题标题】:How to repair cassandra nodes如何修复 cassandra 节点
【发布时间】:2019-08-29 23:50:22
【问题描述】:

我有一个带有两个数据中心的 cassandra 集群。 在数据中心 2 中,我有一个复制因子为 3 的键空间。 我想修复数据中心 2 中的所有键空间。 我尝试过运行:

nodetool repair --in-local-dc --full -j 4

但是这个命令不会修复所有的键空间。有人知道这是否是预期的行为吗? Cassandra 日志没有显示任何问题

【问题讨论】:

  • 你为什么说这不能修复所有的键空间?它应该修复本地 DC 中的任何密钥空间。你有别的看法吗?
  • 是的。它只修复了两个键空间。一个密钥空间仍未修复。我不得不求助于 nodetool repair --in-local-dc --full -j 4 keyspacename 来修复最后一个键空间。只是觉得这很奇怪。

标签: cassandra repair


【解决方案1】:

所以我在指定源 DC 时也遇到了多 DC 维修问题。我不知道那些特定于 DC 的修复标志是否有问题,但我发现确保只有特定节点参与修复的最佳方法是指定每个节点。

nodetool repair keyspace_name  -hosts 10.6.8.2 -hosts 10.6.8.3 -hosts 10.6.8.1
    -hosts 10.6.8.5 -hosts 10.6.8.4 -hosts 10.1.3.1 -full

请注意,我的目标是在 SSH 连接到 10.1.3.1 时运行此修复。 必须还使用-hosts 标志指定您正在运行修复的节点。还要确保列出源 DC 中的每个节点,否则您会收到有关缺少源令牌范围的错误。

试试看是否有帮助。

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 1970-01-01
    • 2019-05-28
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    相关资源
    最近更新 更多