2015-04-07 94 views
0

我们在一个数据中心中运行的6节点卡桑德拉2.0.11集群RF = 3在AWS横跨3 AZ的卡桑德拉磁盘空间开销

我们的平均命令datasize是大约110GB,并且每个节点具有2个RAID0 80GB磁盘创建一个160GB的磁盘。

无论何时进行修复或后续压缩,我们都开始看到磁盘已满,并且不再能够重新平衡振铃。

是时候横向缩放并从6节点移动到9节点了吗?

160GB中50GB似乎是“普通”cassandra操作所需的大量开销。

+0

我想补充一点,我们已经在使用LCS并检查了我们没有任何快照。我们发现有帮助的一件事是将compaction_throughput_mb_per_sec从16 MB/s降至32 MB/s。现在压缩已经结束,我们还没有进行任何维修操作,现在这个环很安静。我们决定尝试从6个节点扩展到9个节点。 –

回答

0

如果可以,请获取更多磁盘空间。 否则考虑在磁盘空间不足的情况下使用水平压缩,只有轻微到中等的写入负载。 LCS可以在压实过程中节省大量的磁盘空间,而不像疲劳压实的大小。 同时检查你是否可以删除一些旧的快照。

0

首先,找出导致磁盘空间充裕的根本原因。

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

检查nodetool tpstats以查看是否存在压缩积压并检查Columnfamilies中有多少个sstable。如果是这种情况,则要么水平伸缩来处理负载,要么调整当前的群集,以便它可以处理正在推送的负载。

原因还可能源于洪泛数据驱动器的巨大压缩。我假设你使用尺寸分层压实策略。这种开销总是当前数据的50%。因为大的压缩可以暂时增加那么多的数据。

一个选项可能会切换到平整压实策略,因为这只需要10%的开销。但请注意,磁盘上的LCS更难。