Docker中的Elasticsearch 2.0.0群集禅宗发现

我试图以docker方式在google计算引擎的两个不同节点上运行elasticsearch集群。

使用1.7.1,单播工作,但2.0.0,它没有工作,2个节点不能连接在一起

下面是Dockerfilerun commandDockerfile 。 谢谢

Dockerfile

 FROM java:8 #ENV ES_PKG_NAME elasticsearch-2.0.0 ENV ES_PKG_NAME elasticsearch-1.7.1 RUN \ cd / && \ #wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.0.0/$ES_PKG_NAME.tar.gz && \ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/$ES_PKG_NAME.tar.gz && \ tar xvzf $ES_PKG_NAME.tar.gz && \ rm -f $ES_PKG_NAME.tar.gz && \ mv /$ES_PKG_NAME /elasticsearch RUN mkdir -p /data/mnt RUN chmod 777 -R /data/mnt RUN chmod 777 -R /elasticsearch RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo USER docker EXPOSE 9200 EXPOSE 9300 ADD elasticsearch.yml /elasticsearch/config/elasticsearch.yml ENTRYPOINT ["/elasticsearch/bin/elasticsearch"] 

运行命令

 docker run -it -p 9200:9200 -p 9300:9300 \ -v /data/elasticsearch:/data/mnt \ -e ES_HEAP_SIZE=4g \ --restart=always --name elastic_search \ elastic_search \ --node.name=$(hostname) \ --network.publish_host=$(hostname -i) \ --discovery.zen.ping.multicast.enabled=false \ --discovery.zen.ping.unicast.hosts=10.240.0.58:9300,10.240.0.59:9300 

elasticsearch.yml

 cluster.name: hello # path path.conf: /elasticsearch/config path.data: /data/mnt/data path.logs: /data/mnt/log path.plugins: /elasticsearch/plugins path.work: /data/mnt/work # index option index.number_of_shards: 5 index.number_of_replicas: 2 

节点a的控制台

 [2015-11-02 04:09:59,133][INFO ][node ] [elastic-acikalacomputeenginetest.internal] version[2.0.0], pid[1], build[de54438/2015-10-22T08:09:48Z] [2015-11-02 04:09:59,134][INFO ][node ] [elastic-acikalacomputeenginetest.internal] initializing ... [2015-11-02 04:09:59,488][INFO ][plugins ] [elastic-acikalacomputeenginetest.internal] loaded [license], sites [hq, kopf] [2015-11-02 04:09:59,523][INFO ][env ] [elastic-acikalacomputeenginetest.internal] using [1] data paths, mounts [[/data/mnt (/dev/sda9)]], net usable_space [4.5gb], net total_space [6.4gb], spins? [possibly], types [ext4] [2015-11-02 04:10:01,577][INFO ][node ] [elastic-acikalacomputeenginetest.internal] initialized [2015-11-02 04:10:01,577][INFO ][node ] [elastic-acikalacomputeenginetest.internal] starting ... [2015-11-02 04:10:01,667][INFO ][transport ] [elastic-acikalacomputeenginetest.internal] publish_address {10.240.0.58:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300} [2015-11-02 04:10:01,693][INFO ][discovery ] [elastic-acikalacomputeenginetest.internal] hello/NULtHr65Sm-1d47NfJ_uhQ [2015-11-02 04:10:04,732][INFO ][cluster.service ] [elastic-acikalacomputeenginetest.internal] new_master {elastic-acikalacomputeenginetest.internal}{NULtHr65Sm-1d47NfJ_uhQ}{10.240.0.58}{10.240.0.58:9300}, reason: zen-disco-join(elected_as_master, [0] joins received) [2015-11-02 04:10:04,812][INFO ][http ] [elastic-acikalacomputeenginetest.internal] publish_address {10.240.0.58:9200}, bound_addresses {127.0.0.1:9200}, {[::1]:9200} [2015-11-02 04:10:04,813][INFO ][node ] [elastic-acikalacomputeenginetest.internal] started [2015-11-02 04:10:04,904][INFO ][license.plugin.core ] [elastic-acikalacomputeenginetest.internal] license [b61278f5-5cc8-40b0-87cd-820f1b8d5c58] - valid 

节点b的控制台

 [2015-11-02 04:11:34,619][INFO ][node ] [elastic-bcikalacomputeenginetest.internal] version[2.0.0], pid[1], build[de54438/2015-10-22T08:09:48Z] [2015-11-02 04:11:34,620][INFO ][node ] [elastic-bcikalacomputeenginetest.internal] initializing ... [2015-11-02 04:11:34,866][INFO ][plugins ] [elastic-bcikalacomputeenginetest.internal] loaded [license], sites [hq, kopf] [2015-11-02 04:11:34,896][INFO ][env ] [elastic-bcikalacomputeenginetest.internal] using [1] data paths, mounts [[/data/mnt (/dev/sda9)]], net usable_space [4.7gb], net total_space [6.4gb], spins? [possibly], types [ext4] [2015-11-02 04:11:37,007][INFO ][node ] [elastic-bcikalacomputeenginetest.internal] initialized [2015-11-02 04:11:37,008][INFO ][node ] [elastic-bcikalacomputeenginetest.internal] starting ... [2015-11-02 04:11:37,085][INFO ][transport ] [elastic-bcikalacomputeenginetest.internal] publish_address {10.240.0.59:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300} [2015-11-02 04:11:37,108][INFO ][discovery ] [elastic-bcikalacomputeenginetest.internal] hello/DD6mqmC4SC2K3RXx4Dy8xg [2015-11-02 04:11:40,134][INFO ][cluster.service ] [elastic-bcikalacomputeenginetest.internal] new_master {elastic-bcikalacomputeenginetest.internal}{DD6mqmC4SC2K3RXx4Dy8xg}{10.240.0.59}{10.240.0.59:9300}, reason: zen-disco-join(elected_as_master, [0] joins received) [2015-11-02 04:11:40,199][INFO ][http ] [elastic-bcikalacomputeenginetest.internal] publish_address {10.240.0.59:9200}, bound_addresses {127.0.0.1:9200}, {[::1]:9200} [2015-11-02 04:11:40,200][INFO ][node ] [elastic-bcikalacomputeenginetest.internal] started [2015-11-02 04:11:40,281][INFO ][license.plugin.core ] [elastic-bcikalacomputeenginetest.internal] license [16216eed-f88a-4c59-8578-b1cba069a219] - valid 

刚刚遇到了完全相同的问题:当启动你的docker集装箱,你必须改变variables–network.publish_host ,因为它现在在ES 2.0 network.host:https://www.elastic.co/guide/en /elasticsearch/reference/current/setup-configuration.html#settings 。

这应该做的伎俩!