我正在尝试在Windows上启动Elasticsearch。
es 5.0.0,JDK 1.8.0.66,Windows 10
服务安装正确,但无法启动。
D:SoftwaresElastic_Projectelasticsearch-5.0.0bin>elasticsearch-service install
C:Program FilesJavajdk1.8.0_66
Installing service : "elasticsearch-service-x64"
Using JAVA_HOME (64-bit): "C:Program FilesJavajdk1.8.0_66"
The service 'elasticsearch-service-x64' has been installed.
D:SoftwaresElastic_Projectelasticsearch-5.0.0bin>elasticsearch-service start
C:Program FilesJavajdk1.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.
有帮助吗?
在Windows 7中的系统上的Java 1.7,然后升级为Oracle Java 1.8 SDK(JDK-8U45-Windows-x64.exe)System Java_home与java_home的java_home不同经理和不同版本的Java在路径上。此外,由于系统没有加载Java 8,因此Elasticsearch-Service安装失败了。
将系统java_home设置为正确的文件夹:
- 打开Windows File Explorer super e
- 右键单击我的计算机
- 选择高级系统设置
- 选择环境变量
- 选择java_home
- 编辑java_home将值更改为正确的根文件夹,例如
C:Progra~1Javajre1.8.0_45
- 好的两次
检查java_home是否已设置并有效:
-
java -version
-
echo %JAVA_HOME%
如果失败,则eleasticsearch-service install
将无法正常工作。在DOS提示中进行修复:
-
set JAVA_HOME=C:Progra~1Javajre1.8.0_45
-
path=C:Program FilesJavajdk1.8.0_45bin;%path%
在Elasticsearch Manager中检查Java_Path值,并在需要时对其进行修复。通过DOS提示打开管理程序:
- 从DOS提示运行
elasticsearch-service.bat manager
。 - 单击Java选项卡
- 单击 ...
%JAVA_HOME%binserverjvm.dll
右侧的按钮 - 如果需要,选择正确的JRE文件夹或手动设置值,例如
C:Program FilesJavajdk1.8.0_45jrebinserverjvm.dll
- 单击应用
- 选择"常规"选项卡
- 单击开始
- 单击好的关闭Elasticsearch Manager
可能需要删除和重新添加Elasticsearch服务:
-
elasticsearch-service.bat remove
-
elasticsearch-service.bat install
使用Config Elasticsearch.yml中的设置在浏览器中打开Elasticsearch,以检查其正在运行:
http://localhost:9200/
我也有同样的问题。我可以通过查找e.g的日志文件来找到问题的原因。〜/elasticsearch-5.2.1/log/log/log/losticsearch-service-x64.2017-02-20。它抱怨"创建Java%Java_home% JRE bin bin server jvm.dll" 。因此,我将java_home重置为系统变量(不是用户变量),并且已解决。
您可以检查plasticserch/logs/plasticserch.log
我通过运行。
-Djava.io.tmpdir=
到-Djava.io.tmpdir=C:WindowsTemp
https://github.com/elastic/windows-installers/issues/310
我有类似的错误,带有elasticsearch ver。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服务(
elasticsearch-service.bat remove
); - 安装最新的Java JDK -14.0.1(而不是安装在我的计算机上的11.0.7);
- 将系统变量中的java_home的值更改为JDK-14.0.1; 的根目录
- 重新启动计算机;
- 在CMD中验证
java -version
显示正确的Java版本(14.0.1); - 安装Elasticsearch服务(
elasticsearch-service.bat install
); - 启动Elasticsearch Service(
elasticsearch-service.bat start
) - 它成功开始。
注意:使用CMD作为管理员时,您可能必须启动服务。
此问题是因为错误设置了环境变量,或者不设置环境变量,文档未能启动Elasticsearch服务解释了我们如何设置Java_home System变量以及设置时如何错误。此外,文档弹性搜索安装作为窗口服务说明了我们如何将弹性搜索作为窗口服务以及将其设置为自动服务的方式。