2014-05-06 32 views
0

我们有一个5节点cassandra集群。 cassandra版本是2.07。 OS是Oracle Enterprise Linux 6.5。Cassandra 2.07节点修复挂起

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 ??? 

它只是挂起w/o取得任何进展。

任何想法如何找到问题的根源?

谢谢!

回答

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]) 

推修复唯一的出路,就是重启从该列表(不是修复节点本身)的一个节点卡桑德拉。这会引发一些错误,但至少修复的其余部分将会继续。