Прекращает ли Elasticsearch индексацию данных, когда некоторые узлы выходят из строя?

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

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


person Simple Code    schedule 29.12.2018    source источник


Ответы (1)


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

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

person ben5556    schedule 29.12.2018