На кластере Elasticsearch существуют различные пороговые значения "watermark". По мере заполнения диска на узле первым порогом, который будет преодолен, будет "низкий". Вторым порогом будет "высокий". Наконец, будет достигнута "стадия переполнения диска". После прохождения этого порога кластер заблокирует запись во ВСЕ индексы, имеющие один шард (основной или реплику) на узле, прошедшем "Watermark". Чтение (поиск) по-прежнему будет возможно.
Как исправить сообщения журнала, связанные с Watermark диска
Постоянные исправления
- Удалить неиспользуемые индексы.
- Слияние сегментов для уменьшения размера шарда на пораженном узле
- Подключить внешний диск или увеличить объем диска, используемого узлом данных.
Временные хаки/исправления
1. Изменение значений этих настроек на более высокий порог путем динамического обновления настроек с помощью нижеприведенного API обновления кластера.
1 2 3 4 5 6 7 8 9 | PUT _cluster/settings { "transient”: { "cluster.routing.allocation.disk.watermark.low": "100gb", –>регулировать в зависимости от ситуации "cluster.routing.allocation.disk.watermark.high": "50gb", "cluster.routing.allocation.disk.watermark.flood_stage": "10gb", "cluster.info.update.interval": "1m" } } |
2. Отключите проверку диска, использовав метод API обновления кластера
1 2 3 4 5 | { "transient": { "cluster.routing.allocation.disk.threshold_enabled" : false } } |
Даже после всех этих исправлений Elasticsearch не выводит индексы в режим записи, для чего необходимо активировать этот API
1 2 3 4 | PUT _all/_settings { "index.blocks.read_only_allow_delete": null } |