DBAtlas · Atlas de operaciones de bases de datos

Gestionar los disk watermarks y quitar el bloqueo de escritura de flood-stage

ElasticsearchClúster/Nodo

Comando

GET _cat/allocation?v&h=node,shards,disk.indices,disk.used,disk.avail,disk.percent&s=disk.percent:desc
GET _cluster/settings?include_defaults=true&filter_path=*.cluster.routing.allocation.disk
# Adjust thresholds temporarily (null returns to the default):
PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.disk.watermark.low": "85%",
    "cluster.routing.allocation.disk.watermark.high": "90%",
    "cluster.routing.allocation.disk.watermark.flood_stage": "95%"
  }
}
# After freeing space, remove the flood-stage write block:
PUT _all/_settings
{
  "index.blocks.read_only_allow_delete": null
}

Qué hace

Muestra el uso de disco por nodo y los valores de watermark efectivos; ajusta los umbrales low/high/flood_stage y quita el bloqueo read_only_allow_delete puesto en los índices en flood stage.

Cuándo usarlo

Cuando las escrituras se rechazan con 'TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block', no se asignan shards nuevos o los shards empiezan a salir de un nodo lleno.

Precaución

Por encima de low no se asignan shards nuevos al nodo; por encima de high los shards se mueven fuera del nodo; por encima de flood_stage, los índices con un shard en ese nodo pasan a solo lectura. Subir los umbrales solo gana tiempo; la solución duradera es borrar índices antiguos, reducir réplicas o añadir disco/nodos. Si el disco se llena por completo, los shards pueden corromperse.

Abrir en DBAtlas →

Relacionado