你如何设置一个有多个主节点的Docker组成的弹性search集群?

我有docker撰写工作做一个具有1个主节点和2个数据节点的弹性search节点集群,但是我想知道如何扩展这个以添加更多的主节点,因为这个设置仍然存在单点故障如果主节点停机。

更具体地说,第二个主节点如何与正在使用它的主机和应用程序进行交互? 你必须绑定到第二个主节点的主机上的不同端口? 然后,应用程序必须通过一个负载平衡器来处理任何一个主要的noes掉下来的情况?

elasticsearch_master: image: elasticsearch:latest command: "elasticsearch -Des.cluster.name=vi -Des.node.master=true -Des.node.data=false" ports: - "9200:9200" - "9300:9300" elasticsearch1: image: elasticsearch:latest command: "elasticsearch -Des.cluster.name=vi -Des.discovery.zen.ping.unicast.hosts=elasticsearch_master" links: - elasticsearch_master volumes: - "~/esdata:/usr/share/elasticsearch/data" elasticsearch2: image: elasticsearch:latest command: "elasticsearch -Des.cluster.name=vi -Des.discovery.zen.ping.unicast.hosts=elasticsearch_master" links: - elasticsearch_master volumes: - "~/esdata:/usr/share/elasticsearch/data"