opensearch-docs-cn/_api-reference/cluster-api/cluster-decommission.md

2.6 KiB

layout title nav_order parent has_children redirect_from
default Cluster decommission 30 Cluster APIs false
/api-reference/cluster-decommission/

Cluster decommission

The cluster decommission operation adds support decommissioning based on awareness. It greatly benefits multi-zone deployments, where awareness attributes, such as zones, can aid in applying new upgrades to a cluster in a controlled fashion. This is especially useful during outages, in which case, you can decommission the unhealthy zone to prevent replication requests from stalling and prevent your request backlog from becoming too large.

For more information about allocation awareness, see Shard allocation awareness.

HTTP and Path methods

PUT  /_cluster/decommission/awareness/{awareness_attribute_name}/{awareness_attribute_value}
GET  /_cluster/decommission/awareness/{awareness_attribute_name}/_status
DELETE /_cluster/decommission/awareness

URL parameters

Parameter Type Description
awareness_attribute_name String The name of awareness attribute, usually zone.
awareness_attribute_value String The value of the awareness attribute. For example, if you have shards allocated in two different zones, you can give each zone a value of zone-a or zoneb. The cluster decommission operation decommissions the zone listed in the method.

Example: Decommissioning and recommissioning a zone

You can use the following example requests to decommission and recommission a zone:

Request

The following example request decommissions zone-a:

PUT /_cluster/decommission/awareness/<zone>/<zone-a>

{% include copy-curl.html %}

If you want to recommission a decommissioned zone, you can use the DELETE method:

DELETE /_cluster/decommission/awareness

{% include copy-curl.html %}

Response

{
      "acknowledged": true
}

Example: Getting zone decommission status

The following example requests returns the decommission status of all zones.

Request

GET /_cluster/decommission/awareness/zone/_status

{% include copy-curl.html %}

Response

{
     "zone-1": "INIT | DRAINING | IN_PROGRESS | SUCCESSFUL | FAILED"
}

Next steps