我们正在使用 Cassandra 3.9.0。最近我们在 1 个节点上遇到了一些麻烦。当磁盘使用率达到 100% 时,此节点崩溃。
根据 Datastax 提供的以下说明,我们正在考虑用新节点替换节点的一种方法。 https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsReplaceNode.html
在测试环境中完成替换后,当我们从新节点执行nodetool status时,旧节点不会出现。但是,当从其他节点执行时,会出现旧的死节点。类似地,当nodetool gossipinfo在新传入节点以外的现有节点中执行时,会找到旧节点的引用。
如下图,我们将 a2 替换为 a4
Status=Up/Down
/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns(effective) Host ID Rack
UN x.x.x.a1 4.52 GiB 256 72.0% HOSTID1 rack1
DN x.x.x.a2 4.56 GiB 256 77.5% null rack1
UN x.x.x.a3 4.33 GiB 256 76.9% HOSTID3 rack1
UN x.x.x.a4 5.59 GiB 256 73.6% HOSTID4 rack1
当节点工具状态从作为替换节点的新传入节点运行时,我们得到如下结果。
UN x.x.x.a1 4.52 GiB 256 100.0% HOSTID1 rack1
UN x.x.x.a3 4.33 GiB 256 100.0% HOSTID3 rack1
UN x.x.x.a4 5.59 GiB 256 100.0% HOSTID4 rack1
有什么推荐的方法来解决这种情况吗?