直接双击elasticsearch.bat可以成功启动,注册成服务后就启动失败
从网上查找问题,发现是jdk版本的问题,用ES自带的jdk就可以启动成功。
默认ES会先找JAVA_HOME环境变量,如果没配置就使用ES自带的jdk
以下是解决办法:
找到elasticsearch-env.bat
中的
1 if "%JAVA_HOME%" == "" ( 2 set JAVA="%ES_HOME%\jdk\bin\java.exe" 3 set JAVA_HOME="%ES_HOME%\jdk" 4 set JAVA_TYPE=bundled jdk 5 ) else ( 6 set JAVA="%JAVA_HOME%\bin\java.exe" 7 set JAVA_TYPE=JAVA_HOME 8 rem )
修改为:
set JAVA="%ES_HOME%\jdk\bin\java.exe" set JAVA_HOME="%ES_HOME%\jdk" set JAVA_TYPE=bundled jdk
最后重新注册windows服务,启动成功