Cassandra 2.2.3修复异常

时间:2016-03-11 07:17:19

标签: exception cassandra repair nodetool

我正在运行版本为2.2.3的Cassandra集群。该集群现在由3个节点组成,其中两个是种子,一个是普通节点。

当我在每个节点上开始修复(命令:nodetool repair -tr my_keyspace)时,我发现每个节点上的命令被阻止,我将跟踪信息重定向到日志,发现有很多错误,如下所示: / p>

  

会话已完成,出现以下错误:org.apache.cassandra.exceptions.RepairException:[修复#5717bb00-e685-11e5-801e-c71692f88562 on my_keyspace / node,(4856831381680181267,4878966233072304148]]验证在/10.16.170.20中失败

以前有人遇到过这个错误吗?我们可以在每个节点上并行运行Cassandra nodetool修复吗?

2 个答案:

答案 0 :(得分:0)

我还发现,如果我在没有" -pr"的情况下执行nodetool修复,修复可以多次成功完成,似乎" -pr" 2.2.x之后不推荐使用。:) 另一个我发现执行nodetool修复没有" -pr"并行地在每个节点上,它工作得很好。但是,没有更新新数据。

答案 1 :(得分:0)

有一种猜测是,当你运行Cassandra修复时,你最好逐节点地运行修复,这意味着只有在一个节点完成后,你才能在另一个节点上开始修复。   另一件事是在Cassandra 2.2及更高版本中,增量修复是默认的,并且有一些关于使用-pr和增量修复的讨论,结论并不是建议它们一起使用(引用:http://docs.datastax.com/en/archived/cassandra/2.2/cassandra/tools/toolsRepair.html和{{ 3}}) 希望这些对你有所帮助!