当前位置: 首页 > 知识库问答 >
问题:

ElasticSearch无法恢复连接:http://elasticsearch:9200/

习高格
2023-03-14

我试着用docker compose在Centos 8上运行ELK:

这是我的docker创作。yml

version: '3.1'

services:

  elasticsearch:
   image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
   container_name: elasticsearch
   hostname: elasticsearch
   ports:
    - "9200:9200"
   expose:
    - "9200"
   volumes:
    - elasticsearch-data:/usr/share/elasticsearch/data
   networks:
    - docker-network

  kibana:
   image: docker.elastic.co/kibana/kibana:6.2.4
   container_name: kibana
   ports:
    - "5601:5601"
   expose:
    - "5601"
   environment:
    - SERVER_NAME=kibana.localhost
    - ELASTICSEARCH_URL=http://elasticsearch:9200
    - ELASTICSEARCH_USERNAME=elastic
    - ELASTICSEARCH_HOST=elasticsearch
    - ELASTICSEARCH_PORT=9200
    - ELASTIC_PWD=changeme
    - KIBANA_PWD=changeme
   depends_on:
    - elasticsearch
   networks:
    - docker-network

networks:
  docker-network:
    driver: bridge

volumes:
  elasticsearch-data:

但我面临着这个错误:

{“类型”:“日志”,“时间戳”:“2020-03-03T22:53:19Z”,“标签”:[“警告”,“弹性搜索”,“管理],“pid”:1,“消息”:“无法恢复连接:http://elasticsearch:9200/"}

当我检查时:

>

  • elasticsearch运行良好。

    docker exec kibana ping elasticsearch工作正常。

    kibana和elasticsearch都在同一个网络上,正如您在docker compose中看到的那样。yml

    我查了docker exec kibana curlhttp://elasticsearch:9200结果是:

    无法连接到elasticsearch:9200;没有通往东道主的路线

    我还检查了其他类似的问题及其解决方案,但没有一个有效。

  • 共有1个答案

    阎建华
    2023-03-14

    如果您在Docker中运行ElasticSearch,那么您可能需要检查是否为Docker分配了足够的内存限制。这可能会导致ElasticSearch变慢甚至崩溃。

    默认情况下,Docker Desktop设置为每个Docker允许2Gb内存,但在我自己的项目中,我发现4Gb阻止了崩溃,但5Gb带来了额外的性能加速。根据摄入的数据量,您的里程数可能会有所不同。

    Docker桌面内存设置可通过以下方式设置:

    • Docker桌面-

    检查Docker容器中的内存使用情况

    DOCKER_ID=`docker ps | tail -n1 | awk '{ print $1 }'`; docker exec -it $DOCKER_ID /bin/bash
    
    free -h  # repeatedly run to inspect changes over time
    

    请注意,ElasticSearch内存使用在摄取和索引期间达到峰值,然后在索引和整合完成后,最终稳定在略低的数字。因此,理想情况下,峰值内存使用率应该在摄入期间进行测试。

     类似资料:
    • 我是ElasticSearch的新手,我遵循这里的说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html 每当我运行“docker compose up”时,Kibana总是说“无法恢复连接”,但如果我运行curlhttp://localhost:9200,我会得到回复: 下面是我的docker

    • 尝试使用Docker容器将Kibana连接到ES时出错: kibana-product-624|{"type":"log","@time戳":"2018-05-25T14:56:36Z","tags":["警告","elasticsearch","admin"],"pid": 1,"消息":"无法恢复连接:超文本传输协议://elasticsearch: 9200/"}kibana-product

    • 我是ElasticSearch的新手... 非常喜欢API(特别是ElasticsearchTemplate&支持单元测试)... 使用ElasticSearch 5.5.0(以下链接内联了完整的代码,也可以作为可下载的zip文件提供)执行此示例: https://www.mkyong.com/spring-boot/spring-boot--data-elasticsearch-example/

    • 问题内容: 我已经在RHEL7上安装了ES 7.5和Kibana 7.5,但是在启动Kibana并检查UI后,我看到了错误,“ Kibana服务器尚未准备好。” 检查Kibana日志,我发现它没有正确连接到ES。任何帮助表示赞赏! 这是 journalctl –unit kibana 的输出: Elasticsearch.yml Kibana.yml 另外,当我运行 ss -tunlp | gre

    • 我已经在RHEL7上安装了ES 7.5和Kibana 7.5,但是在启动Kibana并检查UI之后,我看到了错误,“Kibana服务器还没有准备好。” 检查Kibana日志,我看到它没有正确连接到ES。感谢任何帮助! 以下是journalctl的输出——单位kibana: 弹性搜索。yml 基巴纳。yml 此外,当我在Kibana启动期间运行ss-tunlp|grep 5601时,我看到Kiban

    • 我在MacOS X上使用docker 2.1.0.3 我的docker-compose.yml的内容是这样的: 当我连接到localhost:9200时,我看到elasticsearch运行良好,并且在端口9411上部署了zipkin,但我出现错误: 105^[[35MDependencies_Zipkin^[[0M 19/09/30 14:45:20错误NetworkClient:节点[172.