Exception Cassandra 2.2.3修复异常

Exception Cassandra 2.2.3修复异常,exception,cassandra,repair,nodetool,Exception,Cassandra,Repair,Nodetool,我正在运行版本为2.2.3的Cassandra群集。集群现在由3个节点组成,其中两个是种子节点,一个是普通节点 当我在每个节点上启动修复(命令:nodetool repair-tr my_keyspace)时,我发现该命令在每个节点上都被阻止,我将跟踪信息重定向到日志,并发现有许多错误,如下所示: 会话已完成,但出现以下错误:org.apache.cassandra.exceptions.repaireexception:[在我的密钥空间/节点上修复#5717bb00-e685-11e5-801

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

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

会话已完成,但出现以下错误:org.apache.cassandra.exceptions.repaireexception:[在我的密钥空间/节点上修复#5717bb00-e685-11e5-801e-c71692f88562,(48568313816801682674878966233072304148)]在/10.16.170.20中验证失败


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

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

一种猜测是,当运行Cassandra修复时,最好逐个节点运行修复,这意味着只有在一个节点完成后,才能在另一个节点上开始修复。 另一件事是,在Cassandra 2.2及以上版本中,增量修复是默认的,并且有一些关于将-pr与增量修复一起使用的讨论,结论是不建议将它们一起使用(参考文献:和)
希望这些对你有帮助

你能提供system.log中的任何异常吗?我发现system.log中记录了许多异常。其中大多数似乎如下所示:警告[RepairJobTask:6]2016-03-10 22:01:22757 RepairJob.java:162-[repair8ac54e8f-e74e-11e5-abdf-417f87165ecc]节点同步失败
错误[RepairJobTask:6]2016-03-10 22:01:22767 RepairSession.java:290-[repair]8ac54e8f-e74e-11e5-abdf-417f87165ecc]会话已完成,出现以下错误org.apache.cassandra.exceptions.repaireexception:[repair#8ac54e8f-e74e-11e5-abdf-417f8716ecc在my_键空间/节点上(-5727290568361773337,-5702819924840199489]]验证在/10.16.170.20中失败2016-03-10 22:01:22770 CassandraDaemon.java:185-线程异常[ValidationExecutor:5,1,main]java.lang.RuntimeException:无法在同一sstables上启动多个修复会话
错误[repair#1:1]2016-03-10 22:01:22779 CassandraDaemon.java:185-线程异常[repair#1:1,5,RMI Runtime]java.util.concurrent.RejectedExecutionException:ThreadPoolExecutor已关闭