2015-11-05 2 views
1

Я хочу настроить кластер Elastic-Search. Поскольку это распределенная система, я должен иметь возможность добавлять новые узлы «на лету» (что означает: добавление новых узлов после развертывания один раз). Как это делается и как Elastic-search справляется с этим?Эластичный поиск: добавление узлов в кластер «на лету»

ответ

0

Elasticsearch обрабатывает это с помощью Zen Discovery

Чаньского открытие является встроенным модулем обнаружения для elasticsearch и по умолчанию. Он обеспечивает одноадресное обнаружение, но может быть расширен до поддержки облачных сред и других форм обнаружения.

Это делается через конфигурационный файл elasticsearch.yml. У вас есть два варианта: многоадресная и одноадресная:

  • Multicast позволяет вашему новому узлу подключаться к вашему клану без указания IP-адресов, однако это не рекомендуется.
  • Unicast. Вы указываете список узлов в своем кластере (их IP-адреса).

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

Пример конфигурации:

cluster.name: elasticsearch_media 
node.name: "media-dev" 
node.master: true 
node.data: true 
discovery.zen.ping.multicast.enabled: false 
discovery.zen.ping.unicast.hosts: ["153.32.228.250[9300-9400]", "10.122.234.19[9300-9400]"] 
+1

Если я хочу добавить третий узел, только третье будет иметь изменение конфигурации или добавит узлы, которые необходимо изменить. Если все узлы необходимо изменить, следует ли их перезапустить? – user3881147

+0

Этого должно быть достаточно, чтобы настроить только третий узел. Вам не нужно перезапускать другие узлы. –

0

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

0
  • Попытка написать скрипт, который будет принимать аргументы командной строки о имени кластера и IP-адресов, авторизаций и т.д.,
  • Этот сценарий будет открывать и изменять elasticsearch.yml файл на удаленном сервере.
Смежные вопросы