如何修复cassandra节点

如何修复cassandra节点,cassandra,repair,Cassandra,Repair,我有一个带有两个数据中心的cassandra集群。 在数据中心2中,我有一个复制因子为3的键空间。 我想修复数据中心2中的所有键空间。 我试着跑: nodetool repair --in-local-dc --full -j 4 但此命令不会修复所有键空间。有人知道这是否是故意的行为吗?Cassandra日志没有显示任何问题,因此我在指定源DC时也遇到了多DC修复问题。我不知道这些特定于DC的修复标志是否有缺陷,但我发现,确保修复只涉及特定节点的最好方法是指定每个节点 nodetool re

我有一个带有两个数据中心的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
请注意,我的目标是在10.1.3.1上运行此修复,而SSH将其嵌入其中。在上运行修复的节点也必须使用
-hosts
标志指定。还要确保列出了源DC中的每个节点,否则您将得到关于缺少源令牌范围的错误


尝试一下,看看这是否有帮助。

因此,在指定源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
请注意,我的目标是在10.1.3.1上运行此修复,而SSH将其嵌入其中。在上运行修复的节点也必须使用
-hosts
标志指定。还要确保列出了源DC中的每个节点,否则您将得到关于缺少源令牌范围的错误


试试看这是否有帮助。

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