# Возможность указать мастера в кластере

**URL:** <https://discuss.elastic.co/t/topic/75323>\
**Category:** Вопросы на русском языке\
**Created:** [February 16, 2017, 11:44am UTC](https://discuss.elastic.co/t/topic/75323 "2017-02-16T11:44:42Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![intech](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/intech/32/9635_2.png) [@intech](https://discuss.elastic.co/u/intech)\
**Post date:** [February 16, 2017, 11:44am UTC](https://discuss.elastic.co/t/topic/75323/1 "2017-02-16T11:44:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [February 16, 2017, 12:57pm UTC](https://discuss.elastic.co/t/topic/75323/2 "2017-02-16T12:57:39Z")

</div>

Идеальное решение - это выделить 3 слабых машины, поставить их где нужно и позволить только этим машинам [выполнять роль мастера](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#split-brain).

---

<div class="post-metadata">

**Author:** ![intech](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/intech/32/9635_2.png) [@intech](https://discuss.elastic.co/u/intech)\
**Post date:** [February 16, 2017, 1:00pm UTC](https://discuss.elastic.co/t/topic/75323/3 "2017-02-16T13:00:16Z")

</div>

Видимо я неправильно объяснил. Уже есть 3 разных сервера в 3 разных дата центрах. Каждый из этих серверов уже мастер. И мне нужно, чтобы мастером эти сервера становились в определённом приоритете. Или если есть возможность назначить мастером вручную какой нужно.  
Сейчас постоянно мастером становится сервер в самом дальнем дата центре от остальной системы, что заметно на работе системы из-за большего пинга. Никак не могу вернуть мастером тот сервер, который был до сбоя.  
Для наглядности, мастером сейчас всегда становиться ru-simple. Когда я его выключаю, то de-backend. Когда включаю ru-simple и выключаю de-backend, то опять ru-simple.  
Почему не ru-es?  
 ![](https://us1.discourse-cdn.com/elastic/original/2X/b/ba8b6c0a39a38f9fb99f7523c9679b3a67e3f75f.png)

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [February 16, 2017, 2:23pm UTC](https://discuss.elastic.co/t/topic/75323/4 "2017-02-16T14:23:58Z")

</div>

Прежде всего, Elasticsearch не предназначен для роботы на географически распределенных сетях. Если я правильно понял, тут нужно два кластера - один в de и один в ru.

Выбор мастера осуществляется по node id, который генерируется при создании ноды. Если текущий мастер пропадает, то мастер с минимальным id займет его место. То есть, если id ru-simple меньше чем id ru-es, то ru-simple каждый раз будем мастером. Да версии 5.0 этот id менялся при каждой перегрузке ноды, начиная с 5.0 он не меняется.

---

<div class="post-metadata">

**Author:** ![intech](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/intech/32/9635_2.png) [@intech](https://discuss.elastic.co/u/intech)\
**Post date:** [February 16, 2017, 5:00pm UTC](https://discuss.elastic.co/t/topic/75323/5 "2017-02-16T17:00:14Z")

</div>

А как между кластерами можно реплицировать данные?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [February 16, 2017, 5:47pm UTC](https://discuss.elastic.co/t/topic/75323/6 "2017-02-16T17:47:46Z")

</div>

Реплицировать сложно, но можно использовать tribe node для поиска и того и другого кластера одновременно.

---

<div class="post-metadata">

**Author:** ![GreenX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/greenx/32/51751_2.png) [@GreenX](https://discuss.elastic.co/u/GreenX)\
**Post date:** [February 17, 2017, 7:23am UTC](https://discuss.elastic.co/t/topic/75323/7 "2017-02-17T07:23:16Z")

</div>

Если все три ноды с ролью "мастер" можно завести виртуальный IP кластера и поднимать его там где надо логикой corosync/pacemaker или keepalived в unicast + скрипты.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 17, 2017, 7:23am UTC](https://discuss.elastic.co/t/topic/75323/8 "2017-03-17T07:23:18Z")

</div>

Closed on March 17, 2017, 7:23am UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
