Cassandra 2.07节点修复挂起

时间:2014-05-06 23:56:26

标签: cassandra-2.0

我们有一个5节点的cassandra集群。 cassandra版本是2.07。操作系统是Oracle Enterprise Linux 6.5。

Java环境是:

-bash-4.1$ java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

节点修复随机挂起。输出日志将显示:

-------------- Repairing... ------------------------------------------------
[2014-05-05 20:00:02,305] Starting repair command #7, repairing 728 ranges for keyspace ???

它只是挂起而没有取得任何进展。

知道如何找到问题的根本原因吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了与cassandra 2.0.7相同的问题。通常它在向复制伙伴节点发送merkle树请求之后动手,然后无法创建自己的快照以将该树发送回自身。所以日志消息看起来像这样:

INFO [RepairJobTask:1] 2014-06-10 18:56:42,176 RepairJob.java (line 134) [repair #3c663fb1-f0ce-11e3-ac99-f9b8874f4c5e] requesting merkle trees for <CF_Name> (to [/10.0.4.101, /10.0.2.91, /10.0.3.91, /10.0.3.111, /10.0.4.111, /10.0.4.92, /10.0.2.101, /10.0.3.101])

推进修复的唯一方法是从该列表中的某个节点(而不是修复节点本身)重新启动cassandra。这会引发一些错误,但至少其余的修复将继续。