我们的群集经历了长时间的修复(9到14小时)(目前在3个节点* 3个数据中心上分割了2Tb的已用数据)。
我们每天都在进行全面维修(在某些时候遇到-pr的问题而且从未回过头来),并且日志显示大部分时间用于压缩大行(我们将尽快处理) )以及同步不同步范围。
作为一个例子,我有一个CF,有时会得到> 7K范围不同步,有时它是来自OpsCenter的汇总表,处于相同的情况(我的CF获得了大量插入并使用TTL)。此外,nodetool tpstats
显示没有丢弃的消息。
我们正在使用Cassandra 1.2.11(我知道最新版本是1.2.13,但有关修复性能的错误如CASSANDRA-4905在1.2.0中已修复)。
所以我会对有关为什么我们最终导致这么多不同步范围的建议感兴趣。从我理解Cassandra的方式来看,即使是用CL< ALL写入所有节点,只有丢弃的消息会造成不一致。
答案 0 :(得分:0)
修复不执行锁定,因此大型分区(如opscenter)在任何给定时间点都不同步是完全正常的。
自hinted handoff will take care of temporary availability hiccups以来,每日修复可能有点过分。