【问题标题】:Cassandra 3.0 one node is not getting sync with other 2 nodes in 3 node clusterCassandra 3.0 一个节点未与 3 节点集群中的其他 2 个节点同步
【发布时间】:2020-07-11 00:27:22
【问题描述】:

WARN [GossipStage:1] 2020-03-25 10:34:52,849 Gossiper.java:1161 - 收到对等点 /10.x.x.x 的无效八卦生成;本地时间 = 1585157692,接收代 = 1695958421 WARN [GossipStage:1] 2020-03-25 10:34:52,849 Gossiper.java:1161 - 收到对等点 /10.x.x.x 的无效八卦生成;本地时间 = 1585157692,接收代 = 1695958421

/10.x.x.150 世代:0 心跳:0 代币:不存在 /10.x.x.151 代:1585155568 心跳:2488 状态:16:正常,-1019803973446170140 加载:2438:2893850.0 架构:12:2075709a-c594-36b8-8708-3de7fb58325c 机架:10:cassandra_rack RELEASE_VERSION:4:3.11.0-E000 NET_VERSION:1:11 RPC_READY:28:true 代币:15: /10.x.x.149 代:1695958421 心跳:2476 状态:16:正常,-1083796634382577337 加载:2437:1221526.0 架构:12:2075709a-c594-36b8-8708-3de7fb58325c DC:8:英属维尔京群岛15 机架:10:cassandra_rack RELEASE_VERSION:4:3.11.0-E000 NET_VERSION:1:11 RPC_READY:29:true 代币:15:

请告诉我如何解决它。

【问题讨论】:

  • 您能否更新您的问题,提供有关您的设置和环境配置的更多信息?仅从日志中几乎不可能弄清楚你在做什么
  • 节点运行多长时间?

标签: cassandra


【解决方案1】:

通过在每个节点上安装正常运行的 ntp 服务器,确保节点的系统时钟同步。当从另一个节点收到的生成比节点的本地时间晚一年多时,您收到的警告occurs。在警告消息中,本地生成似乎是 1585157692,即 2020 年 3 月 25 日,而从另一个节点接收到的生成是 1695958421,即 2023 年 9 月 29 日。节点启动时从系统时钟初始化生成。

【讨论】:

  • 感谢您的意见。我看到系统中的日期很好。在我看来,系统日期更改发生在某个时间点,然后设置了 chrony tp 同步时间。现在你能告诉我如何将八卦数字重置为合理的值。
  • 您应该能够通过对所有节点执行滚动重启来修复它(在某些情况下,这可能需要多次重启)。如果您有能力同时关闭所有节点,这可能会更好。 See here 了解更多信息。
  • 如果重新启动不起作用,您可以尝试的另一件事是在产生错误八卦的节点上运行update system.local set gossip_generation = 1585157692 where key = 'local';,然后重新启动它。我还没有对此进行测试,但这就是八卦生成被缓存的地方。作为最后的手段,如果您能够从集群中删除节点并重新启动它,那应该可以修复它。
  • 对 system.local 的更新不起作用,因为我们似乎在更高版本的 Cassandra 3.0.11 中。我们最终不得不清除集群中的所有 cassandra 数据并重新启动。之后我们恢复了我在数据清理之前拍摄的 nodetool 快照备份
【解决方案2】:

对 system.local 的更新不起作用,因为我们似乎使用的是更高版本的 Cassandra 3.0.11..我们最终不得不清除集群中的所有 cassandra 数据并重新启动。之后我们恢复了我在数据清理之前拍摄的 nodetool 快照备份

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 1970-01-01
    • 2016-08-14
    • 2017-10-27
    • 2020-12-27
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    相关资源
    最近更新 更多