Unable to connect to Elasticsearch at http://ES01:9200

avatar 2021年5月7日18:18:51 评论 569 次浏览

今天来到公司,有同事告诉我他们搞的es集群不能使用了,怎么安装的我也不知道,就告诉我机器,没办法上去看看吧,不能直接拒绝吧。我登陆后看了一下es的docker集群呀,我先把这个集群的yaml文件贴一下,ES的版本是早都做好的了,如果需要其他的版本需要自己重新生成镜像了,下面看yaml文件内容:

version: '3.3'
services:
  es1:
    image: elasticsearch:5.6.12
    container_name: ES01
    environment:
      - ES_JAVA_OPTS=-Xms256m -Xmx256m $ES_GC_OPTS -XX:ParallelGCThreads=1
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - /app/work/server/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - /app/work/server/es/data/data1:/usr/share/elasticsearch/data
    networks:
      - es-net
  es2:
    image: elasticsearch:5.6.12
    container_name: ES02
    environment:
      - ES_JAVA_OPTS=-Xms256m -Xmx256m $ES_GC_OPTS -XX:ParallelGCThreads=1
    ports:
      - "9201:9200"
      - "9301:9300"
    volumes:
      - /app/work/server/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - /app/work/server/es/data/data2:/usr/share/elasticsearch/data
    networks:
      - es-net
  es3:
    image: elasticsearch:5.6.12
    container_name: ES03
    environment:
      - ES_JAVA_OPTS=-Xms256m -Xmx256m $ES_GC_OPTS -XX:ParallelGCThreads=1
    ports:
      - "9202:9200"
      - "9302:9300"
    volumes:
      - /app/work/server/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - /app/work/server/es/data/data3:/usr/share/elasticsearch/data
    networks:
      - es-net

  es-head:
    image: tobias74/elasticsearch-head:latest
    ports:
      - "9400:9100"

  kibana:
    image: kibana:5.6.12
    container_name: kibana
    ports:
      - 5601:5601
    environment:
      - ELASTICSEARCH_URL=http://ES01:9200
    networks:
      - es-net
networks:
  es-net:
    driver: bridge

下面看一下我的错误信息。

我看了一下,网上都说是因为版本的问题,可是这个同样的安装方式,在其他的机器上是正常的呀,我看了一下结构,原来把所有的doceker的es都映射到宿主机的9200端口上了,而且kibana请求的是ES01的9200,但是在kibanan的日志中请求的却是es01的,一直不通,而且看了配置,配置中也是ES01,我就把kibana的URL改成了宿主机的地址,因为docker的网络方式不一样,他们的最终负责是通过9200端口请求过去的。所以kibanan的配置如下:

  kibana:
    image: kibana
    container_name: kibana
    ports:
      - 5601:5601
    environment:
      - ELASTICSEARCH_URL=http://172.16.158.127:9200
    networks:
      - es-net
networks:
  es-net:
    driver: bridge

即可,有的说修改配置,修改网络的ip等等,我不否人这是一种方式,但是,我们需要做的是尽量不修改原环境的配置,这样能够保障我们的这套系统可以在其他的环境中也可以继续使用。没有了看一下其他的吧。。。。。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: