微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法通过浏览器使用 http://localhost:9200, 9201, 9203 访问 elasticsearch 集群中的 3 个节点中的 2 个仅第一个这是否正常?为什么?

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
      - 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,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 集群,我可以通过浏览器访问 Node 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,这必须如下所示:

ports:
  - 9201:9200

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。