解决Kibana—Unable to connect to Elasticsearch at http:…:9200.

有提示我么可以知道原因是无法连接到elasticsearch,首先定位错误的原因,那就是ip地址的问题

在这里插入图片描述

根据网上的资料和自己的实践总结出三种解决方案(在es和kibanan版本一致的情况下)

方法一:

将ElasticSearch的ip改成127.0.0.1localhost

docker run -it -d -e ELASTICSEARCH_URL=http://127.0.0.1:9200 --name kibana_es -p 5602:5601 kibana:5.6.8

方法二:

将ip设为与ElasticSearch配置文件中network.host的值一致:

  • 进入ElasticSearch容器

    docker exec -it es /bin/bash
    
  • 查看配置文件

    cd config/
    
  • 编辑配置文件

    vim elasticsearch.yml
    
  • 添加如下配置信息

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    network.host: 192.168.181.5 #具体的ip要根据自己的情况来定,此处是本人虚拟机的ip
    
  • 创建Kibana容器

  docker run -it -d -e ELASTICSEARCH_URL=http://192.168.181.5:9200 --name kibana_es -p 5602:5601 kibana:5.6.8

方法三:

终极方法

  • 进入ES容器

    dockerexec -it es /bin/bash
    
  • 查看ip(docker内部局域网的ip)

    cat /etc/hosts
    

    我们将看到下面的内容:
    在这里插入图片描述

    我们可以知道es容器在docker中的ip是172.17.0.3

  • 接下来就可以根据这个ip来创建容器啦

    docker run -it -d -e ELASTICSEARCH_URL=http://172.17.0.3:9200 --name kibana -p 5601:5601 kibana:5.6.8
    

成功截图:
在这里插入图片描述

希望以上的方法能够帮助大家解决问题

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐