2015-04-28 3 views
1

Можно ли установить разные IP-адреса для кластера обнаружения и подключения внешнихУпругие Поиск Multiple Публикация Хост

Как это:

ES Cluster Setup

Я хочу группироваться автоматическое обнаружение произойдет через 172.16.1.1x IP и внешние источники, такие как logstash, fluentd или couchbase, будут подключаться к кластеру с использованием 192.168.1.10 IP.

Возможно ли это? Как настроить это

Примечание: В настоящее время я запускаю ES как контейнеры докеров, поэтому в network.publish_host я использую IP-адрес хост-машины (172.16.1.1x), и автоматическое обнаружение делает добро. Я могу подключиться к кластеру с использованием любого из 172.16.1.1x IP-адресов, но я хочу подключиться к кластеру с использованием 192.168.1.10.

Заранее спасибо

ответ

1

Вам нужно изменить network.bind_host к 192.168.1.10. Это означает, что извне вы можете подключаться к кластеру только с этого IP-адреса.

Но лучший подход заключается в том, чтобы иметь прокси-сервер, например, с использованием nginx, и дать 3-ю узлам сбалансированную нагрузку. Вы можете развернуть nginx на сервере «192.168.1.10» и использовать ваши узлы в качестве серверов с балансировкой нагрузки.

upstream elasticsearch { 
    server 172.16.1.10:9200 weight=1; 
    server 172.16.1.11:9200 weight=1; 
    server 172.16.1.12:9200 weight=1; 
    keepalive 15; 
} 

Подробнее об использовании nginx proxy here.

В этом случае вам необходимо установить network.bind_host на 172.16.1.10, 172.16.1.11 и 172.16.1.12 соответственно или в качестве альтернативы установить network.host - 172.16.1.10, 172.16.1.11 и 172.16.1.12. Использование nginx поможет вам легко защитить ваш кластер.

Внешние инструменты, такие как logstash могут подключиться к кластеру с помощью http://192.168.1.10:yourNginxPort

+0

Спасибо Prabin, проблема я столкнулся, я бегу их в докер, поэтому 'network.bind_host' должен быть докеры IP, если я дать 172.16.1.1x, я получаю не могу привязываться к IP. Если я дам 'network.publish_host' как 192.168.1.10, мое автоматическое обнаружение в случае обнаружения кластера. – Shan

+0

Как я уже упоминал, дайте 'network.bind_host' как 192.168.1.10, а' network.publish_host' должен оставаться как 172.16.1.1x –

+0

Я получаю эту ошибку, когда я устанавливаю 'network.bind_host' в 192.168.1.10' FAILED [email protected] .1.10: 10077: java.net.BindException: Невозможно назначить запрошенный адрес java.net.BindException: Невозможно присвоить запрошенный адрес'. Я пытаюсь решить ваше решение nginx. спасибо большое – Shan

Смежные вопросы