如何在Cassandra中删除所有keyspace,我有一个需求,需要删除一些测试脚本创建的所有keyspace。
谢谢。
谢谢。
如果您想寻找一个除了drop keyspace
之外的方法,那么...
根据您的澄清,我认为最好的重置Cassandra的方法是删除以下目录下的内容:
<data dir>/data/*
<data dir>/commitlog/*
<data dir>/saved_caches/*
然后从种子节点开始,在每个节点之间留2分钟的间隔重新启动节点服务。这将使节点回到数据的干净状态,同时保留cassandra.yaml中的自定义设置。这也会重置在cqlsh级别对“system”keyspace所做的更改,如更改复制因子。
我使用下面的脚本删除所有keyspace:
keyspaces=$(echo desc keyspaces | cqlsh | xargs -n1 echo | grep -v ^system)
for ks in $keyspaces; do
echo Dropping $ks
echo "drop keyspace $ks;" | cqlsh
done