放置关闭 API
编辑放置关闭 API编辑
此功能旨在供 Elasticsearch Service、Elastic Cloud Enterprise 和 Elastic Cloud on Kubernetes 间接使用。不支持直接使用。
准备关闭节点。
请求编辑
PUT _nodes/<node-id>/shutdown
描述编辑
根据需要将正在进行的任务和索引分片迁移到其他节点,以准备重新启动节点或关闭节点并将其从集群中移除。这可确保 Elasticsearch 可以安全停止,并最大程度地减少对集群的干扰。
您必须指定关闭类型:restart
、remove
或 replace
。如果节点已准备好关闭,则可以使用此 API 更改关闭类型。
此 API **不会** 终止 Elasticsearch 进程。监控 节点关闭状态 以确定何时可以安全停止 Elasticsearch。
路径参数编辑
-
<node-id>
- (必填,字符串)要准备关闭的节点的 ID。如果指定一个处于脱机状态的节点,则当它重新加入集群时,它将准备好关闭。
此参数 **不会** 根据集群的活动节点进行验证。这使您能够在节点脱机时注册要关闭的节点。如果指定无效的节点 ID,则不会引发错误。
查询参数编辑
请求正文编辑
-
type
- (必填,字符串)有效值为
restart
、remove
或replace
。当您需要临时关闭节点以执行升级、进行配置更改或执行其他维护时,请使用restart
。由于预计节点将重新加入集群,因此不会将数据从节点中迁移出去。当您需要从集群中永久移除节点时,请使用remove
。在将数据从节点中迁移出去之前,不会将节点标记为已准备好关闭。使用replace
将节点 1:1 替换为另一个节点。为了将源节点真正替换为目标节点,将忽略某些分配决策(例如磁盘水印)。在替换类型关闭期间,滚动更新和索引创建可能会导致未分配的分片,并且在替换完成之前,收缩可能会失败。 -
reason
- (必填,字符串)节点关闭的可读原因。此字段为其他集群操作员提供信息;它不会影响关闭过程。
-
allocation_delay
- (可选,字符串)仅当
type
为restart
时有效。控制 Elasticsearch 在将节点的分片重新分配给其他节点之前等待节点重新启动并加入集群的时间。这与使用index.unassigned.node_left.delayed_timeout
设置 延迟分配 的工作原理相同。如果同时指定了重新启动分配延迟和索引级别分配延迟,则使用两者中较长的时间。 -
target_node_name
- (可选,字符串)仅当
type
为replace
时有效。指定正在替换要关闭的节点的节点的名称。来自关闭节点的分片只允许分配给目标节点,并且不会将其他数据分配给目标节点。在重新定位数据期间,将忽略某些分配规则,例如磁盘水印或用户属性过滤规则。
示例编辑
注册要关闭的节点
response = client.shutdown.put_node( node_id: 'USpTGYaBSIKbgSUJR2Z9lg', body: { type: 'restart', reason: 'Demonstrating how the node shutdown API works', allocation_delay: '20m' } ) puts response