在线批量删除(截断)cassandra键空间

在线批量删除(截断)cassandra键空间,cassandra,Cassandra,我读到,一旦你耗尽一个节点,你可以删除文件,然后重新启动。它很好用, 但我只是通过耗尽所有节点、关闭整个集群、删除文件并重新启动来尝试 如果一次只重新启动一个节点,会发生什么情况?据我所知,存在风险 重新启动的节点将接受读取请求,并使用来自其他副本的数据执行读取修复 有人知道在整个集群启动并运行时截断一个键空间以服务于其他键空间的最安全的过程吗 $ bin/cassandra-cli -h localhost [default@unknown] use keyspace1; Authentica

我读到,一旦你耗尽一个节点,你可以删除文件,然后重新启动。它很好用, 但我只是通过耗尽所有节点、关闭整个集群、删除文件并重新启动来尝试

如果一次只重新启动一个节点,会发生什么情况?据我所知,存在风险 重新启动的节点将接受读取请求,并使用来自其他副本的数据执行读取修复

有人知道在整个集群启动并运行时截断一个键空间以服务于其他键空间的最安全的过程吗

$ bin/cassandra-cli -h localhost
[default@unknown] use keyspace1;
Authenticated to keyspace: Keyspace1
[default@Keyspace1] truncate standard1;     
standard1 truncated.

从设计上看,这不是比赛证明(需要重量级锁定);通常,您只会取消一个不提供实时读取服务的CF。但是,如果出于某种原因,您必须先禁用读取修复(“使用读取修复机会=0更新列族标准1”)。

从老式cli运行截断与从cqlsh运行截断之间是否有区别?这两种方法都有效吗?或者,您是否建议对传统col系列使用cassandra cli,而不是从cqlsh内部执行截断?使用cqlsh将始终有效。没有理由使用旧的cli。