压力测试后如何正确清理Cassandra?

时间:2017-12-05 00:35:26

标签: cassandra cassandra-3.0

我的任务是站起来准备我们的生产Cassandra集群(3.11.1)。一切都很好,用压力测试工具加载了几亿条记录,很棒。但是在我完成后,我做了一个“DROP KEYSPACE keyspace1;” (压力测试使用的空间)假设这就像MySQL一样,空间会被清理干净。

现在我运行了nodetools cleanup,flush,truncatehints,cleansnapshots以及我能找到的其他所有命令变体。每个节点的磁盘使用量仍然是~30GB,Cassandra似乎没有任何进展。

所以#1 - 如何恢复被现在删除的密钥空间吸收的磁盘空间?

和#2 - 如果这是“错误的方式”,我应该如何删除这些数据?

2 个答案:

答案 0 :(得分:2)

删除键空间后,可以删除数据目录中的目录。哪个会清理它,没有命令这样做。

答案 1 :(得分:0)

就像@Chris 说的,我们可以手动删除数据。还要补充一下他所说的,在指定的 gc_grace_seconds 过去之前,删除数据确实不是数据。默认为 864000 秒。

我们实际上可以通过在 cqlsh 中运行它来修改它:

ALTER TABLE keyspace.table WITH gc_grace_seconds = 5;

并再次检查:

SELECT table_name,gc_grace_seconds FROM system_schema.tables WHERE keyspace_name='transcript';