high_disk_watermark_exceeded: Превышен high disk watermark [90%] / превышен flood stage disk watermark [95%]
ElasticsearchЧто это значит?
Использование диска узла превысило порог high watermark (по умолчанию 90%) или flood stage (по умолчанию 95%). При превышении high watermark Elasticsearch пытается перенести шарды с этого узла на другие; при превышении flood stage переводит индексы в режим только для чтения.
Почему возникает?
Диск заполняется: постоянно растущие индексы журналов/метрик, никогда не удаляемые старые индексы, неочищенный репозиторий snapshots, диск недостаточного размера или переполнение одного узла из-за несбалансированного распределения шардов.
Как исправить
Проверьте использование диска: GET _cat/allocation?v. Удалите старые индексы или сделайте snapshot и удалите их, увеличьте диск. Пороги можно временно повысить (осторожно; в 8.x задавайте все три вместе из-за проверки max_headroom): PUT _cluster/settings {"persistent":{"cluster.routing.allocation.disk.watermark.low":"88%","cluster.routing.allocation.disk.watermark.high":"93%","cluster.routing.allocation.disk.watermark.flood_stage":"96%"}}. После устранения проблемы верните значения по умолчанию, задав тем же параметрам null (transient-настройки устарели; не используйте их). Постоянное решение: управление жизненным циклом с ILM, регулярная очистка индексов и планирование ёмкости. Если индексы стали только для чтения из-за flood stage, снимите блокировку отдельно.
Ещё по этой СУБД
- cluster_block_exceptionClusterBlockException[blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block]] (до 7.x: FORBIDDEN/12/index read-only / allow delete (api))
- index_read_only_allow_deleteTOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block (устаревший вариант: FORBIDDEN/12/index read-only / allow delete (api))
- circuit_breaking_exceptionCircuitBreakingException[[parent]]: данные слишком велики, данные для [<...>] составили бы [...], что превышает лимит [...]
- mapper_parsing_exceptionmapper_parsing_exception: не удалось разобрать поле [...] типа [...]
- strict_dynamic_mapping_exceptionstrict_dynamic_mapping_exception: mapping задан как strict, динамическое добавление [...] внутри [...] не допускается
- illegal_argument_exception_fielddataillegal_argument_exception: fielddata по умолчанию отключена для текстовых полей. Задайте fielddata=true для [your_field], чтобы загрузить fielddata в память