Docker部署7.15.1版本Kibana报错无法获取Elasticsearch节点版本信息
Elasticsearch+Kibana 7.15.1 部署连接问题解决步骤
根因说明
你遇到的Kibana提示Kibana server is not ready yet报错,核心由两个问题导致:
- Elasticsearch默认JVM堆内存配置偏低,启动初始化时加上geoip数据库自动更新逻辑卡住,导致服务未完全就绪,Kibana连接请求超时
System::setSecurityManager属于JDK版本兼容警告,不影响服务正常运行,无需单独处理
具体操作步骤
- 停止并删除现有故障容器
docker rm -f es01-test kib01-test
- 重新启动Elasticsearch,调整优化配置
docker run -d --name es01-test --net elastic \ -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \ -e "ingest.geoip.downloader.enabled=false" \ docker.elastic.co/elasticsearch/elasticsearch:7.15.1
参数说明:
ES_JAVA_OPTS=-Xms2g -Xmx2g:设置JVM堆内存为2G,你当前环境内存充足,该配置可避免内存不足导致的启动阻塞ingest.geoip.downloader.enabled=false:关闭geoip数据库自动更新,消除对应报错导致的服务阻塞
- 确认Elasticsearch完全启动
执行curl http://localhost:9200,确认返回正常的ES服务信息后,再启动Kibana,建议间隔30-60秒,不要启动ES后立刻启动Kibana。 - 启动Kibana,调整连接超时配置
docker run -d --name kib01-test --net elastic \ -p 5601:5601 \ -e "ELASTICSEARCH_HOSTS=http://es01-test:9200" \ -e "ELASTICSEARCH_REQUESTTIMEOUT=180000" \ docker.elastic.co/kibana/kibana:7.15.1
参数说明:
ELASTICSEARCH_REQUESTTIMEOUT=180000:将ES请求超时时间设置为180秒,避免Kibana初始化阶段请求提前超时
- 验证服务
启动Kibana后等待2-3分钟,再访问http://localhost:5601即可正常加载页面。
内容的提问来源于stack exchange,提问作者Anshuman Chakraborty
相关产品推荐
相关产品推荐

