Подтвердить что ты не робот

Elasticsearch, когда файловая система переходит только для чтения

У нас есть 3 node кластер Elasticearch, выполняющий 1.7.3. Каждый node является как данными, так и master node. Вчера вечером одна из машин испортила свою файловую систему и снова смонтировала ее только для чтения. С этого момента кластер возвратил ошибки при вставке, например

RemoteTransportException[[db06][inet[/IPREMOVED:9300]][indices:data/write/index]]; nested: IndexFailedEngineException[[messages_201503071849][1] Index failed for [message#586279]]; nested: FileNotFoundException[/data/nodes/0/indices/messages_201503071849/1/index/_1v70.fdx (Read-only file system)];

Есть ли способ настроить систему на более эффективную обработку этой ошибки (т.е. для этого node вывести себя из кластера)? Мы хотим иметь возможность продолжить запись в этой ситуации.

4b9b3361

Ответ 1

Фактически, чтение из нескольких мест (в основном, форума ElasticSearch), похоже, что узлы Elastic не имеют возможности самостоятельно восстановить эту ошибку, и, что еще хуже, кластер заблокирует себя в случае сбоя.

Причина, по которой это происходит (от здесь):

Причина, по которой ES не отключается автоматически, заключается в том, что org.elasticsearch.env.NodeEnviroment хранит файл java.nio.file.FileStore который никогда не контролируется путем регулярного вызова метода isReadOnly().

Смотрите тот же пост для 2 возможных решений