You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch启动无报错 加载GeoIP数据库后卡住如何解决

问题描述

ELK技术栈初学者从elastic.co下载Elasticsearch压缩包,解压后在CMD中运行elasticsearch.bat启动程序,启动过程无报错输出,但进程加载到以下日志内容后停止推进,无法完成正常启动:

[2022-06-29T15:10:38,307][INFO ][o.e.i.g.DatabaseNodeService] [DESKTOP-I8UJC56] successfully loaded geoip database file [GeoLite2-Country.mmdb]
[2022-06-29T15:10:38,339][INFO ][o.e.i.g.DatabaseNodeService] [DESKTOP-I8UJC56] successfully loaded geoip database file [GeoLite2-ASN.mmdb]
[2022-06-29T15:10:39,061][INFO ][o.e.i.g.DatabaseNodeService] [DESKTOP-I8UJC56] successfully loaded geoip database file [GeoLite2-City.mmdb]
排查解决方法

按优先级从高到低依次排查:

  • 核对JVM内存配置
    打开解压目录下config/jvm.options文件,找到-Xms、-Xmx两个配置项,默认配置通常为1G~2G堆内存,如果本机剩余可用内存低于配置值,ES会卡在资源初始化阶段无报错输出。本地测试环境可直接将两个值统一修改为512m,修改后保存文件重新启动即可。
  • 关闭非必要的X-Pack模块
    GeoIP数据库加载完成后,默认会初始化机器学习等X-Pack付费模块,本地测试无相关需求时,可打开config/elasticsearch.yml文件,在末尾添加配置xpack.ml.enabled: false,关闭机器学习模块,减少初始化卡住的概率。
  • 检查解压路径合法性
    Windows环境下如果ES解压路径包含中文、空格、全角特殊字符,或者路径长度过长,会触发文件系统访问异常,部分场景下这类异常不会打印错误日志,只会卡在资源加载阶段。将整个ES文件夹移动到纯英文、无空格的短路径下(例如D:\dev\elasticsearch\)再重新启动即可。
  • 排查端口占用问题
    ES默认需要绑定9200(HTTP服务端口)、9300(节点通信端口)两个端口,如果端口被之前未完全退出的ES进程、其他服务占用,也会出现启动无响应的情况。打开新的CMD窗口执行命令netstat -ano | findstr "9200 9300",查看对应端口的占用进程ID,在任务管理器结束冲突进程后再重启ES。
  • 预留足够启动等待时间
    首次启动ES时需要创建内置系统索引、加载全部内置资源,机械硬盘环境下该过程可能耗时3~10分钟,期间不会输出新的日志,不要直接关闭CMD窗口,等待一段时间后访问http://localhost:9200,如果能返回包含ES版本号的JSON响应,即说明启动成功。

内容的提问来源于stack exchange,提问作者sandesh Jadhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:03:20