【问题标题】:Schema version mismatch with 3.0.8 and 3.0.14架构版本与 3.0.8 和 3.0.14 不匹配
【发布时间】:2020-02-19 05:47:44
【问题描述】:

我正在尝试将 cassandra 版本从 3.0.8 升级到 3.0.14。我正在向 3.0.8 添加一个 3.0.14 版本的新节点。集群,我看到节点之间的架构不一致,新节点没有流式传输任何数据。

我在看:https://issues.apache.org/jira/browse/CASSANDRA-13559,这是否意味着,我将无法添加高于 3.0.13 版本的节点?

这是我在 nodetool describecluster 输出中看到的内容

$ nodetool describecluster
Cluster Information:
    Name: production
    Snitch: org.apache.cassandra.locator.DynamicEndpointSnitch
    Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
    Schema versions:
        45ad6427-30a8-3381-9e2c-266b446c6ea7: [192.168.1.2, 192.168.1.3, 192.168.1.4]

        c2a2bb4f-7d31-3fb8-a216-00b41a643650: [10.10.1.10]

有什么办法可以缓解这种情况吗?

【问题讨论】:

    标签: cassandra datastax cassandra-3.0


    【解决方案1】:

    你跑nodetool upgradesstables了吗?

    【讨论】:

    • 谢谢...它确实与问题有关.. 特别是如果您最近升级了其中一个节点
    【解决方案2】:

    据我所知,您无法将不同版本的节点添加到现有集群中。您必须使用滚动升级来升级现有节点。查看this SO questionthis doc,其中详细介绍了滚动升级的步骤。

    【讨论】:

      【解决方案3】:

      这有点晚了,但我之前也遇到过。

      请参阅 https://github.com/apache/cassandra/blob/cassandra-3.0/NEWS.txt#L166 了解特定于 3.0.14 的发行说明。

      您需要一个临时标志:3.0.14 节点上的-Dcassandra.force_3_0_protocol_version=true 以启用这两个版本之间的通信。有一个 gossip 不兼容导致架构在引导期间不被拉取。您应该在升级整个集群后删除此标志并再次滚动重启

      我猜你会在调试日志中找到类似“shouldPullSchema returned false”这样的行,因为不兼容。

      【讨论】:

        猜你喜欢
        • 2018-07-26
        • 1970-01-01
        • 2016-07-03
        • 2021-01-25
        • 2019-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-17
        相关资源
        最近更新 更多