在Cassandra 3.0多节点群集中回收磁盘空间的最佳实践



在我的5节点群集上,我发出了各种drop table <keyspace_name>.<table_name>命令。在此操作之后,他们对单个节点的数据仍然存在于/var/lib/cassandra/data//

之下。

我想知道是否有任何最佳练习可以释放空间。或者,rm -rf /var/lib/cassandra/data/<keyspace_name>/*在各个节点上命令是否足够?

rm -rf /var/lib/cassandra/data/<keyspace_name>/*在各个节点上命令是否足够?

是的,那会做到。

放下表时,卡桑德拉会自动创建快照(以防万一(。如果您确定不再需要数据,则应运行

nodetool clearsnapshot

在受影响的节点上。请注意,该命令的这种形式将删除所有快照。Cassandra 3中指定特定快照或键空间的完整命令是:

nodetool <options> clearsnapshot -t <snapshot> -- <keyspace> ...

首先,运行此命令以显示文件目录的哈希,包含keyspacse_1.table_1 in/var/lib/lib/cassandra/data:

SELECT * from system_schema.tables WHERE keyspace_name='keyspace_1' AND table_name='table_1';

请参阅此表的响应查询ID。

,然后检查没有此ID的文件中的文件并删除它们。

用于审查:cql中的ID是:d9b8ab90-1240-11e8-8680-f9685b9421a5或其他IDS。

但是/数据在下面包含类似的dir,该ID并非响应CQL!:

Table_1-C9B8AB90-1240-11E8-8680-F9685B9321E5/

在此阶段,您可以删除此文件以释放空间

最新更新