Эластичный поиск оптимального количества мастеров
В настоящее время мы имеем кластер из 6 данных node и один не-данные node. Из них два в настоящее время имеют право на участие в конкурсе. Этот кластер находится на EC2.
Какое оптимальное количество мастер-узлов, или есть причина для дискриминации вообще?
Ответы
Ответ 1
Кластер не может работать без мастера node. Таким образом, количество узлов, имеющих право на мастер-доступ, зависит от вашего допуска для потери всех основных узлов.
Также может быть полезно иметь нечетное количество узлов, удовлетворяющих основным требованиям, и установить discovery.zen.minimum_master_nodes
на более чем половину количества основных подходящих узлов в вашем кластере. Это должно значительно снизить вероятность того, что ваш кластер переходит в состояние расщепленного мозга.
Например, для кластера с 3 узлами, имеющими мастер-доступ, вы можете установить discovery.zen.minimum_master_nodes
в 2.
Ответ 2
Как описано в Elasticsearch Pre-Flight Checklist, вы можете установить discovery.zen.minimum_master_nodes
не менее (N/2)+1
на кластеры с узлами N > 2
.
Где N - количество допустимых основных узлов.
Что означает в вашем случае discovery.zen.minimum_master_nodes: 4
подходящие основные узлы - i.e (6/2)+1
Ответ 3
minimum_master_nodes
(кворум) следует рассчитывать на основе количества главных узлов, а не узлов данных, предложение Uyi было бы правильным тогда и только тогда, когда все ваши узлы данных также являются основными доступными узлами.
У вас никогда не должно быть двух главных узлов из-за потенциального присутствия в split-brain, мое предложение было бы, сделайте не менее 3 основных узлов узла, и установите минимальный мастер node на 2.
Еще одна вещь, которую следует учитывать, состоит в том, чтобы иметь меньшие, но выделенные главные узлы, чтобы убедиться, что они более стабильны и не находятся под давлением обработки индексирования.