如何使用ES docker镜像部署由多个主机组成的弹性搜索群集?

时间:2017-10-03 09:57:09

标签: docker elasticsearch docker-compose dockerfile docker-swarm

我想使用ES docker镜像部署由不同主机组成的ES群集。我在这方面遇到了一些材料,并且能够使用docker compose在同一主机上部署ES集群。但是,我无法使用docker compose来部署由不同主机组成的ES群集。 我使用以下链接作为参考 - https://www.elastic.co/blog/docker-networking https://stefanprodan.com/2016/elasticsearch-cluster-with-docker/ https://discuss.elastic.co/t/multi-elasticsearch-docker-containers-per-host/49989

以下是我在每台主机上使用的docker run命令。 ES在每台主机上启动,但即使我使用的是discovery.zen.ping.unicast.host,主机也无法加入现有群集。

在节点-1上(使用ip - 10.91.104.52),我使用以下命令启动容器。

sudo docker run -p 9200:9200 \
- e "network.publish_host = 10.91.104.52" \
- e "cluster.name = mycluster" \
- e "discovery.zen.ping.unicast.hosts = 10.91.104.52,10.91.104.120" \
- e "dicovery.zen.minimum_master_nodes=1"

在节点2上(使用ip - 10.91.104.120)

sudo docker run -p 9200:9200 \
- e "network.publish_host = 10.91.104.120" \
- e "cluster.name = mycluster" \
- e "discovery.zen.ping.unicast.hosts = 10.91.104.52,10.91.104.120" \
- e "dicovery.zen.minimum_master_nodes=1"

在每个节点上,ES启动。但是当我访问http://host:port/_cluster/health时,我看到每个主机上只有一个节点的集群。

上面的docker命令有什么问题,还是我需要将Docker swarm与覆盖网络一起使用?

0 个答案:

没有答案