6

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

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

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

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

4

2 回答 2

1

我还发现如果不带“-pr”执行nodetool repair,修复可以成功多次,看来2.2.x以后不推荐“-pr”了:)另外我发现不带执行nodetool repair “-pr”在每个节点上并行,它工作得很好。但是,没有更新的新数据。

于 2016-03-14T03:04:27.007 回答
1

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

于 2017-07-29T06:22:45.000 回答