在不同主机上使用docker 镜像搭建集群,不能发现所有的es实例????

来源:7-4 -分页与遍历-fromsize

yangxinxin

2019-03-07

我在用 docker image 搭建es 集群,目前使用两个节点(“172.16.118.1”, “172.16.118.5”),这两个节点都是 master和data节点,其中一个的配置文件内容如下(他们的内容一样,只是node.name不同,文件命名为es1.yml)

#—start—

cluster.name: elasticsearch-cluster

node.name: es-node2

http.port: 9200

transport.tcp.port: 9300

node.master: true

node.data: true

network.bind_host: 0.0.0.0

network.publish_host: 0.0.0.0

http.cors.enabled: true

http.cors.allow-origin: “*”

discovery.zen.minimum_master_nodes: 1

xpack.security.enabled: false

discovery.zen.ping.unicast.hosts: [“172.16.118.1:9300”,“172.16.118.5:9300”]

#—end—

在两个节点上分别执行下面这个命令(两个节点上的文件目录结构是一样的),成功启动,但是“curl http://172.16.118.1:9200/_cat/nodes”只发现当前主机上的es实例,集群里面的其他实例没有找到,这个是哪里的问题呢??????

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 9200:9200 -p 9300:9300 -v /root/es_test/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/es_test/config/data1:/usr/share/elasticsearch/data docker.elastic.co/elasticsearch/elasticsearch:5.6.8

写回答

3回答

慕丝1189759

2020-04-08

不同主机上的container需要通过docker swarm启动才能成为集群吧

0
1
yangxinxin
你说的在理,我试一下
2020-04-08
共1条回复

rockybean

2019-03-08

你看下两台 es 的日志,这种 docker 启动的时候一般都是网络有问题导致的

彼此 telnet 一下,或者你贴一下 docker inspect 两个容器的内容过来

0
0

rockybean

2019-03-07

你这两个节点的网络是相通的吗?

建议你用 docker-compose 来运行,自动会归到一个 network 下面

0
1
yangxinxin
能 ping 通,
2019-03-07
共1条回复

Elastic Stack从入门到实践,动手搭建数据分析系统

有了Elastic Stack,不用写一行代码,你也可以玩转大数据分析!

1361 学习 · 397 问题

查看课程