删除Cassandra中的所有数据?

4

我有一个由8个节点组成的Cassandra设置。我使用3天的TTL保存数据。但是在我进行总结(使用我的JavaScript,计算事物等)后,数据就没有用了。我想删除表中的所有数据。我可以暂停Cassandra一段时间来进行删除。这样数据将从所有节点中删除。 我应该先运行truncate和nodetool repair,还是应该先flush再删除?哪种方法是正确的。

建议您在删除数据之前首先运行nodetool flush以确保所有数据都已刷新到磁盘上。然后,您可以使用truncate命令删除表中的所有数据。最后,运行nodetool repair以确保数据在所有节点上得到正确复制和修复。

1个回答

4
您可以删除表格或截断它们...但请记住,Cassandra默认会对您的表格进行快照,因此您还需要在所有节点上运行nodetool clearsnapshot。在执行此删除操作时无需停止Cassandra。
我不知道是否有一种正确的方式...但当我需要清除一个表时,首先我使用cqlsh在表上运行truncate。然后我使用pssh(https://code.google.com/p/parallel-ssh/)在我的节点上运行nodetool clearsnapshot。
希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接