После сбоя, не получается назначить определённый сервер мастером, вообще хорошего было бы задавать приоритет где-то какой сервер после какого желательно, чтобы был мастером.
А то сейчас у меня по локации сервер с самым большим пингом и даже когда я на нём перезапускаю эластик, то становиться мастером всё равно не тот, который нужный.
Играть в перезагрузку на серверах пока не повезёт или есть решение?
Идеальное решение - это выделить 3 слабых машины, поставить их где нужно и позволить только этим машинам выполнять роль мастера.
Видимо я неправильно объяснил. Уже есть 3 разных сервера в 3 разных дата центрах. Каждый из этих серверов уже мастер. И мне нужно, чтобы мастером эти сервера становились в определённом приоритете. Или если есть возможность назначить мастером вручную какой нужно.
Сейчас постоянно мастером становится сервер в самом дальнем дата центре от остальной системы, что заметно на работе системы из-за большего пинга. Никак не могу вернуть мастером тот сервер, который был до сбоя.
Для наглядности, мастером сейчас всегда становиться ru-simple. Когда я его выключаю, то de-backend. Когда включаю ru-simple и выключаю de-backend, то опять ru-simple.
Почему не ru-es?
Прежде всего, Elasticsearch не предназначен для роботы на географически распределенных сетях. Если я правильно понял, тут нужно два кластера - один в de и один в ru.
Выбор мастера осуществляется по node id, который генерируется при создании ноды. Если текущий мастер пропадает, то мастер с минимальным id займет его место. То есть, если id ru-simple меньше чем id ru-es, то ru-simple каждый раз будем мастером. Да версии 5.0 этот id менялся при каждой перегрузке ноды, начиная с 5.0 он не меняется.
А как между кластерами можно реплицировать данные?
Реплицировать сложно, но можно использовать tribe node для поиска и того и другого кластера одновременно.
Если все три ноды с ролью "мастер" можно завести виртуальный IP кластера и поднимать его там где надо логикой corosync/pacemaker или keepalived в unicast + скрипты.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.