Elasticsearch прекращает индексировать данные, когда некоторые узлы выходят из строя? - PullRequest
0 голосов
/ 29 декабря 2018

Я прочитал это при отправке нового запроса на индексирование в кластер ES.ES будет указывать, в каком сегменте должен храниться этот документ, в зависимости от маршрутизации.Затем тот узел, на котором размещен этот основной сегмент (он же координирующий узел), будет передавать запрос на индексирование каждому узлу, содержащему реплику для этого сегмента, и он будет отвечать клиенту, что документ был успешно проиндексирован, если основной сегмент и его реплики сохранены /проиндексировал этот документ.

Означает ли это, что ES поддерживает высокую доступность (допускает узлы) для запросов на чтение, а не для запросов на запись, или это поведение по умолчанию, и его можно изменить?

1 Ответ

0 голосов
/ 29 декабря 2018

Основное назначение реплик для восстановления после отказа, если умирает узел, содержащий первичный осколок, реплика повышается до роли первичной.Кроме того, фрагменты реплики могут обслуживать запросы на чтение, что повышает производительность поиска.

Однако для запросов на запись индексирование будет затронуто, если одному из ваших узлов (который имеет основной сегмент для динамического индекса) в кластере внезапно не хватит места на диске, потому что, если использование диска узла достигает настроенных уровней водяных знаковзатем ES генерирует исключение блока кластера, предотвращающее любые записи в узел.Если ВСЕ узлы не работают или недоступны, индексация будет остановлена, однако, если только один или несколько узлов выйдут из строя, индексация не должна полностью останавливаться, так как сегменты реплики на других узлах повышаются до первичного, если узел, содержащий исходный первичный узел, находится в автономном режиме.В идеале, само собой разумеется, что некоторый анализ и усилия должны быть направлены на правильный размер кластера ES и иметь мониторинг для предотвращения любых проблем.

...