无法通过浏览器使用 http://localhost:9200、9201、9203 访问 elasticsearch 集群中的 3 个节点中的 2 个(仅第一个)。这正常吗?为什么?
Cannot access to 2 of 3 nodes in elasticsearch cluster (only first) via browser with http://localhost:9200, 9201, 9203. Is this normal and why?
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
container_name: es01
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data02:/usr/share/elasticsearch/data
ports:
- 9201:9201
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
container_name: es03
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data03:/usr/share/elasticsearch/data
ports:
- 9202:9202
networks:
- elastic
kib01:
image: docker.elastic.co/kibana/kibana:7.9.1
container_name: kib01
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://es01:9200
ELASTICSEARCH_HOSTS: http://es01:9200
networks:
- elastic
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
networks:
elastic:
driver: bridge
我试图了解 elasticsearch 集群节点如何工作,最终客户端可以通过任何节点访问集群。节点的角色默认保持为主节点资格并存储数据。
运行 指南中的elasticsearch集群,我可以通过浏览器访问节点es01。然而,es02 和 es03 是不可访问的。我在 Firefox 上收到“连接已重置”消息。
现在是否可以通过浏览器访问节点 2 和 3?
在您的 docker-compose 文件中,es01、es02 和 es03,运行 进入我们的默认列表端口 9200 的容器(此端口可能是在配置文件中设置)。
所以当你检查 localhost:9200 时没问题你有 es01 的响应,但是当你检查 localhost:9201 时, this point on es02:9201 and on this no process listen this port, into the container, es02 listen 9200.
es03 同样的问题。
要修复它,只需更改 docker-compose 文件上的映射端口即可。例如,对于 es02,这必须看起来像这样:
ports:
- 9201:9200
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
container_name: es01
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data02:/usr/share/elasticsearch/data
ports:
- 9201:9201
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
container_name: es03
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data03:/usr/share/elasticsearch/data
ports:
- 9202:9202
networks:
- elastic
kib01:
image: docker.elastic.co/kibana/kibana:7.9.1
container_name: kib01
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://es01:9200
ELASTICSEARCH_HOSTS: http://es01:9200
networks:
- elastic
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
networks:
elastic:
driver: bridge
我试图了解 elasticsearch 集群节点如何工作,最终客户端可以通过任何节点访问集群。节点的角色默认保持为主节点资格并存储数据。
运行 指南中的elasticsearch集群,我可以通过浏览器访问节点es01。然而,es02 和 es03 是不可访问的。我在 Firefox 上收到“连接已重置”消息。
现在是否可以通过浏览器访问节点 2 和 3?
在您的 docker-compose 文件中,es01、es02 和 es03,运行 进入我们的默认列表端口 9200 的容器(此端口可能是在配置文件中设置)。
所以当你检查 localhost:9200 时没问题你有 es01 的响应,但是当你检查 localhost:9201 时, this point on es02:9201 and on this no process listen this port, into the container, es02 listen 9200. es03 同样的问题。
要修复它,只需更改 docker-compose 文件上的映射端口即可。例如,对于 es02,这必须看起来像这样:
ports:
- 9201:9200