如何修复 Cassandra 节点
How to repair cassandra nodes
我有一个带有两个数据中心的 cassandra 集群。
在数据中心 2 中,我有一个复制因子为 3 的键空间。
我想修复数据中心 2 中的所有键空间。
我试过 运行:
nodetool repair --in-local-dc --full -j 4
但是这个命令不会修复所有的键空间。有人知道这是否是预期行为吗? Cassandra 日志没有显示任何问题
所以我在指定源 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 中的每个节点,否则您将收到有关缺少源令牌范围的错误。
尝试一下,看看是否有帮助。
我有一个带有两个数据中心的 cassandra 集群。 在数据中心 2 中,我有一个复制因子为 3 的键空间。 我想修复数据中心 2 中的所有键空间。 我试过 运行:
nodetool repair --in-local-dc --full -j 4
但是这个命令不会修复所有的键空间。有人知道这是否是预期行为吗? Cassandra 日志没有显示任何问题
所以我在指定源 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 中的每个节点,否则您将收到有关缺少源令牌范围的错误。
尝试一下,看看是否有帮助。