【问题标题】:Drop all keyspaces in cassandra删除 cassandra 中的所有键空间
【发布时间】:2014-01-14 02:27:29
【问题描述】:

如何在 cassandra 中删除所有键空间,我有一个要求,我必须删除由某些测试脚本创建的所有键空间。

谢谢

【问题讨论】:

    标签: cassandra cql3 cqlsh


    【解决方案1】:

    您在寻找drop keyspace以外的方法吗?

    好的,根据您的说明...

    我想说重置 cassandra 的最佳方法是删除 <data dir>/data/* <data dir>/commitlog/* <data dir>/saved_caches/*

    然后在从种子节点开始的节点上重新启动服务,并在每个节点启动之间有 2 分钟的间隔继续。这将使节点恢复到关于数据的干净状态,但保留 cassandra.yaml 中的自定义项不变。这还将重置在 cqlsh 级别对“系统”键空间所做的任何更改,例如更改复制因子。

    【讨论】:

    • 创建了任意数量的键空间(名称随机,数百个)。删除键空间一次只删除一个键空间。我正在寻找删除所有键空间或 cassandra 数据库出厂重置之类的东西。
    • 谢谢!谢谢!谢谢!
    【解决方案2】:

    我使用下面的脚本删除所有键空间:

    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
    

    【讨论】:

    • 谢谢,这样做的好处是保持所有用户帐户不变,而不是删除数据目录的子目录。
    • 为键空间添加了引号:echo "drop keyspace \"$ks\";" | cqlsh
    猜你喜欢
    • 1970-01-01
    • 2017-04-25
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2018-05-14
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多