如何修复cassandra节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修复cassandra节点相关的知识,希望对你有一定的参考价值。

我有一个带两个数据中心的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节点的主要内容,如果未能解决你的问题,请参考以下文章

在进行节点工具修复时向 cassandra 发送数据

Cassandra如何保证数据最终一致性

在Cassandra nodetool修复期间打开的文件太多

如何禁用增量修复?

Cassandra 占用大量 CPU

如何在 Cassandra 节点上实现数据本地化