elasticsearch 无法使用浏览器访问elasticsearch群集中的3个节点中的2个(仅第一个)http://localhost:9200, 9201, 9203. 这正常吗?为什么?,elasticsearch,browser,nodes,cluster-computing,elasticsearch,Browser,Nodes,Cluster Computing" /> elasticsearch 无法使用浏览器访问elasticsearch群集中的3个节点中的2个(仅第一个)http://localhost:9200, 9201, 9203. 这正常吗?为什么?,elasticsearch,browser,nodes,cluster-computing,elasticsearch,Browser,Nodes,Cluster Computing" />

elasticsearch 无法使用浏览器访问elasticsearch群集中的3个节点中的2个(仅第一个)http://localhost:9200, 9201, 9203. 这正常吗?为什么?

elasticsearch 无法使用浏览器访问elasticsearch群集中的3个节点中的2个(仅第一个)http://localhost:9200, 9201, 9203. 这正常吗?为什么?,elasticsearch,browser,nodes,cluster-computing,elasticsearch,Browser,Nodes,Cluster Computing,我试图了解elasticsearch集群节点是如何工作的,终端客户端可以通过任何节点访问集群。默认情况下,节点的角色保持为master和store数据 从指南中运行elasticsearch集群,我可以通过浏览器访问节点es01。然而,es02和es03无法访问。我在firefox上收到一条“连接被重置”的消息 现在是否可以通过浏览器访问节点2和3?在docker compose文件es01、es02和es03中,使用默认列表端口9200(可以在配置文件中设置此端口)运行到我们的容器中 因此,当

我试图了解elasticsearch集群节点是如何工作的,终端客户端可以通过任何节点访问集群。默认情况下,节点的角色保持为master和store数据

从指南中运行elasticsearch集群,我可以通过浏览器访问节点es01。然而,es02和es03无法访问。我在firefox上收到一条“连接被重置”的消息


现在是否可以通过浏览器访问节点2和3?

在docker compose文件es01、es02和es03中,使用默认列表端口9200(可以在配置文件中设置此端口)运行到我们的容器中

因此,当您检查localhost:9200时,您可以得到es01的响应,但是当您检查localhost:9201时,这一点在es02:9201上,并且在这个无进程上侦听这个端口,在容器中,es02侦听9200。 es03也有同样的问题

要修复它,只需更改docker compose文件上的映射端口。例如,对于es02,它必须是这样的:

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

哦,当然。。。。。现在这个问题似乎很愚蠢。是的,将地图更改为9201:9200、9202:9200有效。现在可以访问es02和es03。非常感谢。
ports:
  - 9201:9200