123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- [[put-shutdown]]
- === Put shutdown API
- NOTE: {cloud-only}
- Prepares a node to be shut down.
- [[put-shutdown-api-request]]
- ==== {api-request-title}
- `PUT _nodes/<node-id>/shutdown`
- [[put-shutdown-api-prereqs]]
- ==== {api-prereq-title}
- * If the {es} {security-features} are enabled, you must have the `manage`
- <<privileges-list-cluster,cluster privilege>> to use this API.
- * If the <<operator-privileges,{operator-feature}>> is enabled, you must be an operator
- to use this API.
- [[put-shutdown-api-desc]]
- ==== {api-description-title}
- Migrates ongoing tasks and index shards to other nodes as needed
- to prepare a node to be restarted or shut down and removed from the cluster.
- This ensures that {es} can be stopped safely with minimal disruption to the cluster.
- You must specify the type of shutdown: `restart` or `remove`.
- If a node is already being prepared for shutdown,
- you can use this API to change the shutdown type.
- IMPORTANT: This API does *NOT* terminate the {es} process.
- Monitor the <<get-shutdown,node shutdown status>> to determine
- when it is safe to stop {es}.
- [[put-shutdown-api-path-params]]
- ==== {api-path-parms-title}
- `<node-id>`::
- (Required, string)
- The ID of the node you want to prepare for shutdown.
- If you specify a node that is offline,
- it will be prepared for shut down when it rejoins the cluster.
- IMPORTANT: This parameter is *NOT* validated against the cluster's active nodes.
- This enables you to register a node for shut down while it is offline.
- No error is thrown if you specify an invalid node ID.
- [[put-shutdown-api-params]]
- ==== {api-query-parms-title}
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=timeoutparms]
- [role="child_attributes"]
- [[put-shutdown-api-request-body]]
- ==== {api-request-body-title}
- `type`::
- (Required, string)
- Valid values are `restart` and `remove`.
- Use `restart` when you need to temporarily shut down a node to perform an upgrade,
- make configuration changes, or perform other maintenance.
- Because the node is expected to rejoin the cluster, data is not migrated off of the node.
- Use `remove` when you need to permanently remove a node from the cluster.
- The node is not marked ready for shutdown until data is migrated off of the node
- `reason`::
- (Required, string)
- A human-readable reason that the node is being shut down.
- This field provides information for other cluster operators;
- it does not affect the shut down process.
- `allocation_delay`::
- (Optional, string)
- Only valid if `type` is `restart`. Controls how long {es} will wait for the node to restart and join the cluster before reassigning its shards to other nodes. This works the same as
- <<delayed-allocation,delaying allocation>> with the `index.unassigned.node_left.delayed_timeout` setting. If you specify both a restart allocation delay and an index-level allocation delay, the longer of the two is used.
- [[put-shutdown-api-example]]
- ==== {api-examples-title}
- Register a node for shutdown:
- [source,console]
- --------------------------------------------------
- PUT /_nodes/USpTGYaBSIKbgSUJR2Z9lg/shutdown
- {
- "type": "restart", <1>
- "reason": "Demonstrating how the node shutdown API works",
- "allocation_delay": "20m"
- }
- --------------------------------------------------
- ////
- [source,console-result]
- --------------------------------------------------
- {
- "acknowledged": true
- }
- --------------------------------------------------
- ////
- <1> Prepares the node to be restarted.
- Use `remove` for nodes that will be permanently removed from the cluster.
|