我正在尝试在Windows上启动elasticsearch。
ES 5.0.0, JDK 1.8.0.66, Windows 10
服务已正确安装但无法启动。
D:\Softwares\Elastic_Project\elasticsearch-5.0.0\bin>elasticsearch-service install
C:\Program Files\Java\jdk1.8.0_66
Installing service : "elasticsearch-service-x64"
Using JAVA_HOME (64-bit): "C:\Program Files\Java\jdk1.8.0_66"
The service 'elasticsearch-service-x64' has been installed.
D:\Softwares\Elastic_Project\elasticsearch-5.0.0\bin>elasticsearch-service start
C:\Program Files\Java\jdk1.8.0_66
Failed starting 'elasticsearch-service-x64' service
日志
[2016-11-24 14:21:19] [info] [11120] Commons Daemon procrun (1.0.15.0 64-bit) started
[2016-11-24 14:21:20] [info] [11120] Starting service 'elasticsearch-service-x64' ...
[2016-11-24 14:21:20] [info] [11572] Commons Daemon procrun (1.0.15.0 64-bit) started
[2016-11-24 14:21:20] [info] [11572] Running 'elasticsearch-service-x64' Service...
[2016-11-24 14:21:20] [info] [ 5916] Starting service...
[2016-11-24 14:21:21] [info] [ 5916] Service started in 1487 ms.
[2016-11-24 14:21:21] [info] [11572] Run service finished.
[2016-11-24 14:21:21] [info] [11572] Commons Daemon procrun finished
[2016-11-24 14:21:23] [error] [11120] Failed to start 'elasticsearch-service-x64' service
[2016-11-24 14:21:23] [error] [11120] The data area passed to a system call is too small.
[2016-11-24 14:21:23] [info] [11120] Start service finished.
[2016-11-24 14:21:23] [error] [11120] Commons Daemon procrun failed with exit value: 5 (Failed to start service)
[2016-11-24 14:21:23] [error] [11120] The data area passed to a system call is too small.
我在系统变量中添加了JAVA_HOME。系统日志
The Elasticsearch 5.0.0 (elasticsearch-service-x64) service terminated with the following service-specific error:
Incorrect function.
任何帮助?
答案 0 :(得分:4)
在具有Java 1.7然后升级到Oracle Java 1.8 SDK(jdk-8u45-windows-x64.exe)的系统上的Windows 7中,系统JAVA_HOME与elasticsearch管理器中的JAVA_HOME不同,并且不同版本的java是在路上。此外,由于系统未加载Java 8,elasticsearch-service安装失败。
将系统JAVA_HOME设置为正确的文件夹:
C:\Progra~1\Java\jre1.8.0_45
检查JAVA_HOME是否已设置且java是否正常工作:
java -version
echo %JAVA_HOME%
如果失败则eleasticsearch-service install
无法正常工作。
要修复DOS提示符:
set JAVA_HOME=C:\Progra~1\Java\jre1.8.0_45
path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
检查Elasticsearch管理器中的JAVA_PATH值,并根据需要进行修复。从DOS提示符打开管理器程序:
elasticsearch-service.bat manager
。%JAVA_HOME%\bin\server\jvm.dll
C:\Program Files\Java\jdk1.8.0_45\jre\bin\server\jvm.dll
可能需要删除并重新添加elasticsearch服务:
elasticsearch-service.bat remove
elasticsearch-service.bat install
使用config \ elasticsearch.yml中的设置在浏览器中打开elasticsearch以检查它是否正在运行:
答案 1 :(得分:1)
我遇到了同样的问题。我可以通过查找例如日志文件找到问题的原因。 〜/ elasticsearch-5.2.1 /日志/ elasticsearch服务,x64.2017-02-20。它抱怨"创建java%JAVA_HOME%\ jre \ bin \ server \ jvm.dll" 失败。因此,我在环境变量中将JAVA_HOME重置为系统变量(非用户变量),并将其解决。
答案 2 :(得分:1)
您可以检查elasticserch / logs / elasticserch.log
我通过运行。\ elasticsearch-service manager 并在GUI的Java选项卡中将其更改为
-Djava.io.tmpdir=
至-Djava.io.tmpdir=C:\Windows\Temp
答案 3 :(得分:0)
我在使用Elasticsearch版本时也遇到了类似的错误。 Windows 10 64位上的7.7.0。
服务已成功安装,但无法以elasticsearch-service.bat start
开头。
在控制台中启动elasticsearch没问题,但是Windows服务启动失败。
显示了相关的elasticsearch-service-x64日志:
[2020-05-20 16:36:30] [info] [ 4988] Starting service...
[2020-05-20 16:36:33] [error] [10428] apxServiceControl(): dwState(4) != dwCurrentState(1); dwWin32ExitCode = 1067, dwWaitHint = 0, dwServiceSpecificExitCode = 0
[2020-05-20 16:36:33] [error] [10428] apxServiceControl(): returning FALSE
通过执行以下步骤解决了该问题:
elasticsearch-service.bat remove
); java -version
显示正确的Java版本(14.0.1)的验证; elasticsearch-service.bat install
); elasticsearch-service.bat start
)-成功启动。 注意:使用CMD作为管理员时,可能必须启动服务。
答案 4 :(得分:0)
此问题是由于错误设置环境变量或未设置环境变量引起的,文档Failed to start elasticsearch service 解释了我们如何设置JAVA_HOME系统变量以及在设置时如何出错。 Elastic search install as window service文档还解释了如何将弹性搜索安装为窗口服务以及如何将其设置为自动服务。