在不同主机上使用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启动才能成为集群吧
012020-04-08 -
rockybean
2019-03-08
你看下两台 es 的日志,这种 docker 启动的时候一般都是网络有问题导致的
彼此 telnet 一下,或者你贴一下 docker inspect 两个容器的内容过来
00 -
rockybean
2019-03-07
你这两个节点的网络是相通的吗?
建议你用 docker-compose 来运行,自动会归到一个 network 下面
012019-03-07
相似问题