停用节点时,Hubble允许节点完成运行中的请求,拒绝任何新请求,并将所有范围副本和范围租约转移到该节点之外,以便可以安全地将其关闭。
注意事项 在停用某个节点之前,请确保其他节点可用于从该节点接管分片副本。如果没有其他可用节点,则停用过程将无限期地挂起。 当前版本节点停用后将永久删除,不可以重新启用。 当退役多个节点时候,建议单独退役节点,防止分片副本接管过程中出现问题。
为确保您的群集可以充分处理停用节点:
一次仅停用一个节点,并且在停用每个节点之前,请确认没有重复不足或不可用的分片。
如果您有一个正在挂起的停用节点,则可以重新启用该节点。
如果可能,请保持节点运行而不是杀死它,因为挂起的停用过程可能导致问题,甚至数据丢失。
确认有足够的节点来接管您要删除的节点的副本。请参阅上面的一些示例方案。
展示所有节点状态:
hubble node status --all --certs-dir=certs --host=<any address of nodes>
参考以上语句
hubble node status --all --certs-dir=certs --host=hubble01:15432
id | address | is_available | is_live | is_decommissioning | membership| is_draining
+----+----------+ --------------+---------+
1 | h3:26257 | true | true | true | active | false
2 | h2:26257 | true | true | true | active | false
3 | h3:26257 | true | true | true | active | false
4 | h4:26257 | true | true | true | active | false
5 | h5:26257 | true | true | true | active | false
systemctl stop hubble.service
SSH到运行该节点的计算机,并使用--decommission
命令:(<NODEID>
换成数字5即可)
hubble node --decommission <NODEID> --certs-dir=certs --host=<address of node to remove>
参考以上语句
hubble node --decommission 5 --certs-dir=certs --host=hubble05:15432
然后,您将在退役状态更改时将信息打印:
id | is_live | replicas | is_decommissioning | is_draining
+---+---------+----------+--------------------+-------------+
5 | true | 73 | true | false
(1 row)
节点完全退役并停止后,您将看到一个确认:
id | is_live | replicas | is_decommissioning | is_draining
+---+---------+----------+--------------------+-------------+
5 | true | 0 | true | false
(1 row)
No more data reported on target nodes. Please verify cluster health before removing the nodes.
ok
检查集群状态
hubble node status --all --certs-dir=certs --host=<any address of nodes>
参考以上语句
hubble node status --all --certs-dir=certs --host=hubble01:15432
id | address | is_available| is_live | is_decommissioning| membership | is_draining
+----+----------+ ------------+---------+-------------------+--------------+-------------
1 | h3:26257 | true | true | false | active | false
2 | h2:26257 | true | true | false | active | false
3 | h3:26257 | true | true | false | active | false
4 | h4:26257 | true | true | false | active | false
(4 rows)
检查集群decommission
状态:
hubble node status --decommission --certs-dir=certs --host=<any address of nodes>
参考以上语句
hubble node status --decommission --certs-dir=certs --host=hubble01:15432
id | address | is_available| is_live | is_decommissioning| membership | is_draining
+----+----------+ ------------+---------+-------------------+--------------+-------------
1 | h3:26257 | true | true | false | active | false
2 | h2:26257 | true | true | false | active | false
3 | h3:26257 | true | true | false | active | false
4 | h4:26257 | true | true | false | active | false
5 | h5:26257 | false | false | true |decommissioned| false
(5 rows)
注意: id=5 的节点
is_available
,is_live
,is_decommissioning
和membership
值与其他节点的不同