2015-05-04 3 views
2

Я наткнулся на этот вопрос, сколько мастеров может быть в кластере из трех узлов. Я столкнулся с этим пунктом в одной из статей в Интернете, что запросы на поиск и индексы не должны отправляться избранному хозяину. Это верно? Таким образом, если у меня есть три узла, которые выступают в качестве ведущего (из которого один узел является избранным мастером), я должен указывать входящие журналы для индексирования и поиска на другие главные узлы, кроме избранных мастеров? Пожалуйста, уточните. Заранее спасибоСколько мастеров в кластере из трех узлов

ответ

3

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

Если у вас большой кластер, вы можете иметь пару узлов, которые настроены как выделенные главные узлы. То есть, они имеют право на получение мастер-квалификации, и они не содержат никаких данных. Например, у вас будет 3 выделенных основных узла и 7 узлов данных (не имеющих права доступа). Именно один из выделенных мастер-узлов всегда будет избранным мастером.

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

От Elasticsearch Reference for Modules - Node:

специализированные мастер узлы являются узлами с node.data настройки: ложные и node.master: правда. Мы активно продвигаем использование выделенных мастеров узлов в критических кластерах, чтобы удостовериться, что есть 3 выделенных узла , единственная роль которых заключается в том, чтобы быть главной, легкой оперативной операцией (управление кластером). Уменьшая объем работы, требуемой этими узлами (другими словами, не следует отправлять индексы или поисковые запросы на эти выделенные главные узлы), мы значительно уменьшаем вероятность нестабильности кластера.

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

Elasticsearch Guide has a section on Minimum Master Nodes, выдержка:

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

Этот параметр сообщает Elasticsearch, что он не выбирает мастер, если нет . Только тогда пройдут выборы .

Этот параметр всегда должен быть настроен на кворум (большинство) ваших основных узлов. Кворум (количество допустимых мастеров узлов/2) + 1.Вот некоторые примеры:

  • Если у вас есть десять регулярных узлов (могут содержать данные, может стать хозяином), кворум 6.
  • Если у вас есть три выделенных основных узлов и сто узлов данных, то кворум равен 2, так как вам нужно подсчитывать только узлы, которые являются основными.
    • Если у вас есть два обычных узла, вы в головоломке. Кворум будет равен 2, но это означает, что потеря одного узла будет сделать ваш кластер неработоспособным. Настройка 1 позволит вашему клану функционировать, но не защищает от раздвоения мозга. Лучше всего иметь как минимум три узла в таких ситуациях.
Смежные вопросы