Можно ли установить активный мастер в кластере Elasticsearch вручную? - PullRequest
0 голосов
/ 19 мая 2018

Я знаю, что можно определить более одного мастера для кластера ElasticSearch, где только один выступает в роли мастера, а другие могут подключиться при необходимости.См. Также https://stackoverflow.com/a/15022820/2648551.

Что я не понимаю, так это как я могу определить, какой мастер активен, а какой можно подключить при необходимости.

Следующая настройка, которая у меня сейчас есть:

node-01: master (x) data(-)
node-02: master (-) data(x)
node-03: master (-) data(x)
node-04: master (-) data(x)
node-05: master (-) data(x)
node-06: master (-) data(x)

Теперь я хочу определить, что, например, узел-02 дополнительно получает право на мастер.Могу ли я полагаться на то, что ES настолько умен, что он всегда принимает узел без данных (node-01) в качестве активного мастера, или это может быть тот факт, что node-02 всегда выступает в качестве активного мастера, если все узлы присутствуют и отсутствуютпроблемы?Или это то, о чем мне просто не нужно беспокоиться?

В настоящее время я использую ElasticSearch 1.7 [sic!], Но мне также интересны ответы на основе последних версий.

1 Ответ

0 голосов
/ 20 мая 2018

Короче говоря, нет, вы не можете решить, какой из основных подходящих узлов станет главным, потому что главный узел выбран (он был в ES 1.7 , он все еще находится в ES6.2 ).

Нет, нельзя полагаться на то, что Elasticsearch настолько умен, чтобы всегда принимать узел без данных в качестве активного мастера.Фактически, на данный момент (6.2) они рекомендуют иметь выделенных главных узлов (то есть тех, которые не выполняют никаких операций с данными):

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

... Для стабильности кластера, который управляет, важно-приемлемые узлы выполняют как можно меньше работы.

(обратите внимание, что они говорят о "большем кластере".)

Я могу только предположить, что это также верно для более раннихтолько что вернулись версии и документация.

Возникла проблема с опубликованной вами конфигурацией.Хотя у вас много узлов, потеря одного (главного узла, node-01) сделает ваш кластер неработоспособным.Чтобы избежать этой ситуации, вы можете выбрать один из следующих вариантов:

  • использовать стратегию по умолчанию и сделать все узлы данных узлами и главными узлами;
  • сделать набор извыделенные узлы только для мастера (по крайней мере 3 из них).

Было бы неплохо узнать причину, по которой настройки по умолчанию ES не достаточно хороши для вас, потому что обычно они достаточно хороши.

Однако, если это тот случай, когда вам нужен выделенный мастер-узел, убедитесь, что у вас есть по крайней мере 3, и что discovery.zen.minimum_master_nodes достаточно, чтобы избежать ситуации "разделения мозга".:

discovery.zen.minimum_master_nodes = (master_eligible_nodes / 2) + 1

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...