今天windows本地启动es服务发生了闪退,研究了一下找到了解决方案。

错误可能:

jdk版本与elasticsearch版本不一致。系统变量JAVA_HOME和Path配置出现问题。中文分词的版本与elasticsearch版本不一致。在elasticsearch.yml文件中的配置有误。yml文件编码格式不正确

第一步:首先管理员身份打开cmd的终端 点击以管理员身份运行

第二步:进入es的本地安装目录,找到bin目录 在bin目录下输入dir查看所有文件

第三步:启动elasticsearch.bat找到他的错误信息 在bin目录下输入elasticsearch.bat启动,发生报错。查看Caused by 的后面的错误信息,发现是elasticsearch.yml配置文件的编码格式错误

第四步:思考为什么会有这样的错误 打开我的elasticsearch.yml配置文件 。发现我的注释是中文,所以要使用utf-8的编码格式。

第五步:解决方案 这个yml文件默认不是utf-8。将此文件以utf-8的文件格式存储起来。 第六步:重新运行看看是否可以成功启动 再次启动elasticsearch.bat,没有闪退。

浏览器也可以正常访问 完美解决了启动elasticsearch.bat发生闪退问题。

保险起见,发现bat黑窗口闪烁后关闭 修改config/elasticsearch.yml文件, 添加如下内容预防:

xpack.ml.enabled: false

最后说一句,方法有很多,需要根据不同的问题采取不同的应对措施,发现问题,分析问题,最后解决问题。

查看原文