Cassandra磁盘空间开销

时间:2015-04-07 06:54:39

标签: amazon-web-services cassandra-2.0

我们正在AWS中运行一个6节点的Cassandra 2.0.11群集,其中RF = 3,位于3个AZ的单个数据中心内

我们的平均数据量大约为110GB,每个节点有2个80GB磁盘,raid0用于创建一个160GB磁盘。

每当修复或后续压缩发生并且无法再重新平衡环时,我们就会开始看到磁盘已填满。

是时候水平缩放并从6个节点移动到9个节点吗?

看起来160GB中的50GB需要大量的开销才能正常使用#34; cassandra操作。

2 个答案:

答案 0 :(得分:0)

如果可以的话,获取更多磁盘空间。 否则,请考虑使用水平压缩,以防磁盘空间不足并且只有小到中等的写入负载。与尺寸疲劳的压实相比,LCS可以在压实过程中节省大量磁盘空间。 另请检查是否可以删除一些旧快照。

答案 1 :(得分:0)

首先,找出导致磁盘填满的根本原因。

从你写的内容来看,听起来像群集上的负载太高会导致压缩落后。这反过来会导致磁盘填满。

检查nodetool tpstats以查看是否存在压缩积压并检查Columnfamilies中有多少sstables。如果是这种情况,请横向扩展以处理负载或调整当前集群,以便它可以处理正在推送的负载。

原因还可能源于洪水数据驱动的巨大压缩。我假设你使用Size-tiered压缩策略。此开销始终是您当前数据的50%。由于大型压缩可以暂时添加那么多数据。

一个选项可能是切换到Leveled Compaction Strategy,因为这只需要10%的开销。但请注意,LCS在磁盘上要难得多。