我们在云中有一个相当大的 2.0.x cassandra 集群,大约有 60 个节点,我们正在测试集群上运行测试升级以熟悉该过程。
我们计划一次升级一个可用区,以降低整个过程可能需要几天时间的风险。我们正在遵循本页附带的 datastax PDF 文档中的过程 ( https://docs.genesys.com/Special:Repository/Cassandra%20Upgrade%20Guide.pdf?id=435716573909&page=Documentation:CR:Solution:UpgradingCassandraTo2x: 8.5.2)。
我知道在集群升级期间不能有任何节点引导程序,所以我想知道如果出现硬件故障导致虚拟机停止服务,该怎么办?本质上,如果集群中的某个节点在部分升级状态下发生故障,该怎么办?
我们会执行 anodetool removenode <hostid>
后跟 anodetool removenode force
并继续升级吗?
除了
removenode force
,这就是我会做的。nodetool removenode
尝试将数据从附加的非主令牌范围移动到其他节点,以确保可以满足 RF。这样您就可以绝对确定不会丢失数据。