投票配置排除 API
编辑投票配置排除 API编辑
将主节点候选节点添加到 投票配置排除列表 或从中移除。
请求编辑
POST /_cluster/voting_config_exclusions?node_names=<node_names>
POST /_cluster/voting_config_exclusions?node_ids=<node_ids>
DELETE /_cluster/voting_config_exclusions
描述编辑
默认情况下,如果集群中存在三个以上的主节点候选节点,并且您一次性移除集群中不到一半的主节点候选节点,则 投票配置 会自动缩减。
如果您想将投票配置缩减为少于三个节点,或者一次性移除集群中一半或更多主节点候选节点,请使用此 API 手动将离开的节点从投票配置中移除。该 API 会在集群的投票配置排除列表中为每个指定的节点添加一个条目。然后,它会等待集群重新配置其投票配置以排除指定的节点。
在正常操作中,集群应该没有投票配置排除。一旦排除的节点停止,请使用 DELETE /_cluster/voting_config_exclusions
清除投票配置排除。此 API 会等待节点完全从集群中移除,然后返回。如果您的集群对您不再打算移除的节点存在投票配置排除,请使用 DELETE /_cluster/voting_config_exclusions?wait_for_removal=false
清除投票配置排除,而无需等待节点离开集群。
如果 API 失败,您可以安全地重试。只有成功的响应才能保证节点已从投票配置中移除,并且不会被恢复。
只有在您在短时间内从集群中移除至少一半的主节点候选节点时,才需要投票排除。在移除主节点不可用节点或少于一半的主节点候选节点时,不需要投票排除。
有关更多信息,请参阅 移除主节点候选节点。
查询参数编辑
-
node_names
- 要从投票配置中排除的节点名称的逗号分隔列表。如果指定了此参数,则不能同时指定
?node_ids
。仅适用于此 API 的POST
形式。 -
node_ids
- 要从投票配置中排除的节点持久 ID 的逗号分隔列表。如果指定了此参数,则不能同时指定
?node_names
。仅适用于此 API 的POST
形式。 -
timeout
- (可选,时间单位) 在添加投票配置排除时,API 会等待指定的节点从投票配置中排除,然后返回。等待的时间段由
?timeout
查询参数指定。如果在满足相应条件之前超时,则请求失败并返回错误。默认值为30s
。仅适用于此 API 的POST
形式。 -
master_timeout
- (可选,时间单位) 定义尝试将请求路由到集群中当前主节点时要等待的时间。默认值为
30s
。适用于此 API 的POST
和DELETE
形式。 -
wait_for_removal
- (可选,布尔值) 指定是否等待所有排除的节点从集群中移除,然后再清除投票配置排除列表。默认值为
true
,表示所有排除的节点必须从集群中移除,此 API 才会执行任何操作。如果设置为false
,则即使某些排除的节点仍在集群中,也会清除投票配置排除列表。仅适用于此 API 的DELETE
形式。
示例编辑
将名为 nodeName1
和 nodeName2
的节点添加到投票配置排除列表
POST /_cluster/voting_config_exclusions?node_names=nodeName1,nodeName2
从列表中移除所有排除项
DELETE /_cluster/voting_config_exclusions