【问题标题】:Error rename cassandra cluster name 1.2.6重命名 cassandra 集群名称 1.2.6 时出错
【发布时间】:2015-03-27 03:55:42
【问题描述】:

我在具有单个节点的集群中使用 cassandra 1.2.6。我正在尝试使用以下说明重命名集群:

Cassandra clustername mismatch

完成所有步骤后,我在更改 cassandra.yaml 文件后启动 cassandra 时继续出现相同的错误

有人知道这是否是 cassandra 1.2.6 的问题吗?

谢谢

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    清空 /var/lib/cassandra/data ,/var/lib/cassandra/commitlog ,/var/lib/cassandra/saved_caches 目录并在更改集群名称后重启 Cassandra。这在 1.2.4 版本中运行良好,请尝试使用您的版本。

    建议使用内包产品的稳定版本,如不使用上述方法,请使用 1.2.5 或 1.2.4 代替。

    【讨论】:

    • 对不起,我使用的是 1.2.4 版本。如果我清空 /var/lib/cassandra/data 我会丢失所有数据吗?我可以简单地恢复数据再次复制文件夹的内容吗?
    • 这不是正确的方法,可能会也可能不会。在此之前备份您的密钥空间datastax.com/docs/1.0/operations/backup_restore
    • 如果您不删除系统密钥空间,您指向的 backup_restore 链接很有用。但是,如果我按照您的指示删除数据文件夹,系统密钥空间就会丢失。
    • 为了将键空间名称从默认名称更改为您的名称,您必须删除系统键空间...至于您的键空间问题,请转到 cli 并输入显示模式,这将生成键空间,CF为您创建代码,只需复制该代码,并在使用新集群名称建立后,这将创建您的密钥空间,然后恢复您备份的数据
    • 感谢哈迪克。我会按照你的解释尝试恢复数据。
    【解决方案2】:

    使用 cqlsh 执行以下命令对我有用(在 Cassandra 1.2.9 上):

    update system.local set cluster_name='$CLUSTER_NAME' where key='local';

    您需要首先通过将 cassandra.yaml 中的 cluster_name 设置为旧名称来使其正常工作才能访问集群。之后,您可以运行 nodetool flush,更新 cassandra.yaml,然后重新启动 Cassandra。

    【讨论】:

    • 在 Windows 上运行 cassandra 2.2.1,我必须运行“nodetool flush system”才能让它工作。 Nodetool 刷新还不够
    【解决方案3】:

    清除/var/lib/cassandra/data/var/lib/cassandra/commitlog/var/lib/cassandra/saved_caches 目录并在更改集群名称后重新启动 Casandra。这在 2.0.2 版本中运行良好

    【讨论】:

    • 自从过去大约 1 小时以来,我已经尝试了所有这些:)。徒劳无功。我也尝试过 cassandra-cli。 -- [default@system] set LocationInfo[utf8('L')][utf8('Test Cluster')]=utf8('Single Node Test Cluster');当前键空间中未找到 LocationInfo。
    • 我也尝试使用 cqlsh 并从本地选择 *,这是我得到的 - 本地 |已完成 |单节点测试集群 | 3.2.0 |数据中心1
    猜你喜欢
    • 2014-03-27
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2017-06-29
    • 2018-12-13
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多