我们正在AWS中运行一个6节点的Cassandra 2.0.11群集,其中RF = 3,位于3个AZ的单个数据中心内
我们的平均数据量大约为110GB,每个节点有2个80GB磁盘,raid0用于创建一个160GB磁盘。
每当修复或后续压缩发生并且无法再重新平衡环时,我们就会开始看到磁盘已填满。
是时候水平缩放并从6个节点移动到9个节点吗?
看起来160GB中的50GB需要大量的开销才能正常使用#34; cassandra操作。
答案 0 :(得分:0)
如果可以的话,获取更多磁盘空间。 否则,请考虑使用水平压缩,以防磁盘空间不足并且只有小到中等的写入负载。与尺寸疲劳的压实相比,LCS可以在压实过程中节省大量磁盘空间。 另请检查是否可以删除一些旧快照。
答案 1 :(得分:0)
首先,找出导致磁盘填满的根本原因。
从你写的内容来看,听起来像群集上的负载太高会导致压缩落后。这反过来会导致磁盘填满。
检查nodetool tpstats以查看是否存在压缩积压并检查Columnfamilies中有多少sstables。如果是这种情况,请横向扩展以处理负载或调整当前集群,以便它可以处理正在推送的负载。
原因还可能源于洪水数据驱动的巨大压缩。我假设你使用Size-tiered压缩策略。此开销始终是您当前数据的50%。由于大型压缩可以暂时添加那么多数据。
一个选项可能是切换到Leveled Compaction Strategy,因为这只需要10%的开销。但请注意,LCS在磁盘上要难得多。