Cassandra 压力测试后如何正确清理卡桑德拉?
我的任务是站起来准备我们的生产卡桑德拉集群3.11.1。一切都很好,压力测试工具加载了几亿条记录,很棒。然而,在我完成后,我做了一个下拉键空间keyspace1;压力测试使用的空间假设这是MySQL,空间将被清理 现在,我已经运行了nodetools cleanup、flush、truncatehints、cleansapshots以及几乎所有我能找到的其他命令变体。磁盘使用率仍然是每个节点约30GB,在Cassandra中似乎什么也没有发生 那么1-如何恢复现在已删除的键空间占用的磁盘空间Cassandra 压力测试后如何正确清理卡桑德拉?,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,我的任务是站起来准备我们的生产卡桑德拉集群3.11.1。一切都很好,压力测试工具加载了几亿条记录,很棒。然而,在我完成后,我做了一个下拉键空间keyspace1;压力测试使用的空间假设这是MySQL,空间将被清理 现在,我已经运行了nodetools cleanup、flush、truncatehints、cleansapshots以及几乎所有我能找到的其他命令变体。磁盘使用率仍然是每个节点约30GB,在Cassandra中似乎什么也没有发生 那么1-如何恢复现在已删除的键空间占用的磁盘空间 和
和2-如果这是错误的方式,我应该如何删除此数据?在您删除键空间后,您可以删除其在数据目录中的目录。这将清理它,没有命令来执行。删除键空间后,您可以删除数据目录中的目录。这会把它清理干净,没有一个命令可以这样做。就像@Chris说的,我们可以手动删除数据。此外,在他所说的话的基础上,在指定的gc_grace_秒过去之前,删除数据实际上不会删除数据。默认值为864000秒 实际上,我们可以通过在cqlsh中运行来修改它: 更改表keyspace.TABLE,gc_grace_seconds=5 并再次检查:
从system_schema.tables中选择table_name,gc_grace_seconds,其中keyspace_name='transcript' 就像@Chris说的,我们可以手动删除数据。此外,在他所说的话的基础上,在指定的gc_grace_秒过去之前,删除数据实际上不会删除数据。默认值为864000秒 实际上,我们可以通过在cqlsh中运行来修改它: 更改表keyspace.TABLE,gc_grace_seconds=5 并再次检查:
从system_schema.tables中选择table_name,gc_grace_seconds,其中keyspace_name='transcript' 因此,如果我删除一个键空间,该键空间分布在每个硬盘驱动器上的几十个服务器上。。。我需要几百份文件?清理/压缩过程会做什么呢?每个节点rm 1目录是的,删除键空间和表实际上不会删除数据,这就是截断。cleanup将重写sstables,过滤掉任何不属于其令牌范围的数据。它用于将节点添加到集群后,节点过去拥有的数据仍在磁盘上-清理会将其清除。因此,如果我删除一个键空间,该键空间分布在每个硬盘上的几十台服务器上。。。我需要几百份文件?清理/压缩过程会做什么呢?每个节点rm 1目录是的,删除键空间和表实际上不会删除数据,这就是截断。cleanup将重写sstables,过滤掉任何不属于其令牌范围的数据。它用于将节点添加到集群后,节点用来拥有的数据仍在磁盘上-清除会将其清除。auto_snapshot Default:true启用或禁用Cassandra在截断键空间或删除表之前是否对数据进行快照。为防止数据丢失,Datastax强烈建议使用默认设置。如果将auto_snapshot设置为false,则截断或删除时会丢失数据。请参阅auto_snapshot Default:true启用或禁用Cassandra在截断键空间或删除表之前是否对数据进行快照。为防止数据丢失,Datastax强烈建议使用默认设置。如果将auto_snapshot设置为false,则截断或删除时会丢失数据。看见