Cassandra还在HDD

时间:2016-11-16 15:11:26

标签: cassandra cassandra-3.0

我注意到我的cassandra集群上的打开文件数量有所增加,并检查了它的健康状况。 Nodetool状态报告每个已分配的3TB节点仅使用300gb。

在我开始看到cassandra日志中出现HEAP OOM错误之后不久。

这些节点已运行3-4个月没问题,但是填充了一系列测试数据,然后从中删除。

通过df命令检查硬盘后,我能够确定它们在一个jboded方案中填充了90-100%。

编辑:进一步调查显示其余文件位于'快照'子文件夹和数据子文件夹本身没有数据库表。

我的问题是,有人见过这个吗?为什么压实不能释放这些墓碑?这是一个错误吗?

3 个答案:

答案 0 :(得分:0)

快照不是墓碑 - 它们是您数据的备份。

正如Highstead所说,您可以通过clearsnapshot命令删除任何未使用的快照。

您可以通过cassandra.yaml

禁用自动快照功能

https://docs.datastax.com/en/cassandra/2.1/cassandra/configuration/configCassandra_yaml_r.html#reference_ds_qfg_n1r_1k__auto_snapshot

答案 1 :(得分:0)

同时检查snapshot_before_compaction

是否有非默认值为true

答案 2 :(得分:0)

快照在cassandra集群的生命周期内发生。这些快照不会在nodetool status中捕获,但仍会占用空间。在这种情况下,在删除表时创建了占用所有空间的快照。

要检索当前快照列表,请使用命令nodetool listsnapshots

可以通过修改/etc/cassandra/cassandra-env.sh并将auto_snapshot设置为false来停用此功能。或者,可以通过命令nodetool clearsnapshot <name>清除这些快照。