弹性search多个发布主机
是否可以为群集发现和外部连接设置不同的IP?
喜欢这个:
我想要通过172.16.1.1x IP进行集群自动发现,而外部源(如logstash,fluentd或couchbase)将使用192.168.1.10 IP连接到集群。
这可能吗? 如何configuration这个
注:目前我运行的ES作为docker集装箱,所以在network.publish_host
我使用主机的IP(172.16.1.1x)和自动发现做得很好。 我可以使用任何一个172.16.1.1x IP连接到群集,但我想使用192.168.1.10连接到群集。
提前致谢
您需要将您的network.bind_host
更改为192.168.1.10。 这意味着您只能从外部连接到您的群集。
但是更好的方法是像使用nginx一样使用代理,并为3个节点提供负载平衡。 您可以在服务器“192.168.1.10”处部署nginx,并使用您的节点作为负载平衡的上游服务器。
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代理 。
在这种情况下,您需要分别将network.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连接到集群