Cassandra 集群重启后没有恢复?

Posted

技术标签:

【中文标题】Cassandra 集群重启后没有恢复?【英文标题】:Cassandra cluster is not recovering after restarting? 【发布时间】:2017-04-20 10:16:51 【问题描述】:

我重启了我的 Cassandra 集群,现在重启后,它显示其他节点不可用。但是当我通过访问这些服务器进行检查时,它表明 Cassandra 正在这些服务器中运行。非常感谢您的帮助。

nodetool 修复 - 输出

Repair session session-id for range (id] failed with error java.io.IOException: Cannot proceed on repair because a neighbor (/ip) is dead: session failed

Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens  Owns   Host ID                               Rack
UN  ip1  2.06 GB    256     22.6%  token 1  1b
DN  ip1   ?          256     24.5%  token 2  1c
DN  ip1   ?          256     28.9%  token 3  1c
DN  ip1    ?          256     24.0%  token 4  1d

【问题讨论】:

【参考方案1】:

需要注意的一点是,您应该始终一次重新启动一个节点,并等待它加入集群 (UN),然后再重新启动其他节点。

我假设所有节点之前都加入了集群,并且在重新启动后,它们不同步了。滚动重启所有节点(一次一个)并等待节点加入集群。

Cassandra 将通信和对等信息打印并存储在 system.peersystem.local 表中,如果您在另一个节点重新启动一个节点时,它们可能会不同步仍处于加入状态。

【讨论】:

以上是关于Cassandra 集群重启后没有恢复?的主要内容,如果未能解决你的问题,请参考以下文章

Consul集群故障恢复

新建Cassandra集群-马上要填的坑

Cassandra管理之异机恢复

集群临时重启

重启 Cassandra 后,Lucene 索引不起作用

如何将第三个节点添加到 2 节点 Cassandra 集群?