Присоединиться к разделенному узлу данных к кластеру - PullRequest
0 голосов
/ 09 января 2019

У меня есть 3 узла эластичного поиска, все они выступают в качестве узла основных данных. Из-за проблем с подключением один узел покидает кластер и продвигает его как master.Now у меня два кластера, первый с двумя узлами, а другой с одним узлом. Поскольку все узлы находились под балансировщиком нагрузки, все узлы получали запрос от logstash. Что произойдет, если я перезапущу кластер с одним узлом и попытаюсь добавить его обратно в исходный кластер?

1 Ответ

0 голосов
/ 10 января 2019

Проблема, с которой вы сталкиваетесь, называется проблемой расщепленного мозга.

Вот описание этого

Проблема возникает, когда узел падает или просто возникает ошибка в связи между узлами по какой-то причине. Если один из рабов узлы не могут связаться с главным узлом, он инициирует выбор нового главного узла из тех, с которыми он все еще связан. Этот новый главный узел затем возьмет на себя обязанности предыдущего мастер-узел. Если старый мастер-узел присоединяется к кластеру или связь восстановлена, новый главный узел понизит ее до раб, так что нет конфликта. По большей части этот процесс без шва и "просто работает".

Однако рассмотрим сценарий, в котором у вас есть только два узла: один мастер и один раб. Если связь между ними нарушена, раб будет повышен до мастера, но как только связь восстановлено, вы получите два главных узла. Исходный мастер-узел думает, что раб упал и должен воссоединиться как раб, в то время как новый Мастер думает, что первоначальный мастер упал и должен воссоединиться как раб. Поэтому говорят, что у вашего кластера расщепленный мозг.

Ссылка на него: https://qbox.io/blog/split-brain-problem-elasticsearch

Чтобы избежать этой проблемы, добавьте это в свой yml-файл на главных узлах: discovery.zen.minimum_master_nodes: 2

The formulae for this is : Prevent the "split brain" by configuring the 

majority of nodes (total number of master-eligible nodes / 2 + 1)
...