У меня есть кластер Elasticsearch setup на kubernetes.Недавно logstash не смог отправить какие-либо данные в кластер, потому что одному из узлов в кластере не хватило места на диске.
Это ошибка в logstash
[Ruby-0-Thread-13@[main]>worker1: /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:383] elasticsearch - retrying failed action with response code: 403 ({"type"=>"cluster_block_exception", "reason"=>"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"})
es-master пометил узел как доступный только для чтения, поскольку доступное дисковое пространство перешло порог
[WARN ][o.e.c.r.a.DiskThresholdMonitor] [es-master-65ccf55794-pm4xz] flood stage disk watermark [95%] exceeded on [SaRCGuyyTBOxTjNtvjui-g][es-data-1][/data/data/nodes/0] free: 9.1gb[2%], all indices on this node will be marked read-only
СледующийЯ освободил ресурсы на этом узле, и теперь у него достаточно свободного места (почти на 50%).Но logstash по-прежнему не может отправить данные в эластичный поиск и регистрирует ту же ошибку, что и выше.
У меня есть следующие вопросы
- Будет ли эластичный поиск восстанавливаться после этого автоматически?
- Если нет, перезапустить кластер?Достаточно ли того, чтобы я просто перезапустил узлы данных или мне нужно было перезапустить главный и самый незавершенный узлы?
- Есть ли способ пометить индексы для перезаписи снова без перезапуска?