Cassandra 2.2.3 修复异常



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

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

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

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

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

一种猜测是,当你运行Cassandra修复时,你最好逐个节点运行修复,这意味着只有在一个节点完成后,你才会在另一个节点上开始修复。 另一件事是,在 Cassandra 2.2 及更高版本上,增量修复是默认设置,并且有一些关于将 -pr 与增量修复一起使用的讨论,结论并不建议将它们一起使用(参考:http://docs.datastax.com/en/archived/cassandra/2.2/cassandra/tools/toolsRepair.html 和 https://groups.google.com/forum/#!topic/nosql-databases/qzdbVLGFrD8)希望这些对您有所帮助!

最新更新