2016-11-24 603 views
0

我试图在Windows上启动elasticsearch。无法启动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

此[SO](HTTP ://stackoverflow.com/questions/28624943/cannot-start-service-after-elasticsearch-upgrade-from-1-4-1-to-1-4-4)可能会有所帮助。 – Kulasangar

回答

0

我有同样的问题。我可以通过查看日志文件找到问题的原因。 〜/ elasticsearch-5.2.1 /日志/ elasticsearch服务,x64.2017-02-20。它抱怨“创建java%JAVA_HOME%\ jre \ bin \ server \ jvm.dll失败”。因此,我将环境变量中的JAVA_HOME重置为系统变量(不是用户变量),并将其解析。

2

在具有Java 1.7的系统上的Windows 7中,然后升级到Oracle Java 1.8 SDK(jdk-8u45-windows-x64.exe)时,系统JAVA_HOME与elasticsearch管理器中的JAVA_HOME不同,而Java在路上。此外,elasticsearch服务安装失败,因为该系统没有装载Java 8

设置系统JAVA_HOME正确的文件夹:

  1. 打开Windows资源管理器 超级 + Ë
  2. 右键单击我的电脑
  3. 选择高级系统设置
  4. 选择环境变量
  5. 选择JAVA_HOME
  6. 编辑JAVA_HOME以将值更改为正确的根文件夹,例如C:\Progra~1\Java\jre1.8.0_45
  7. 确定两次

检查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提示符处打开管理器程序:

  1. 从DOS提示符下运行elasticsearch-service.bat manager
  2. 单击Java选项卡
  3. 上单击......按钮的%JAVA_HOME%\bin\server\jvm.dll
  4. 的权利,如果需要选择正确的JRE文件夹或手动设置的值,例如 C:\Program Files\Java\jdk1.8.0_45\jre\bin\server\jvm.dll
  5. 点击应用
  6. 选择常规选项卡
  7. 点击开始
  8. 点击OK关闭Elasticsearch经理

删除并重新添加可在elasticsearch服务需要:

使用设置在设置\ elasticsearch.yml检查它正在运行在浏览器
  • elasticsearch-service.bat remove
  • elasticsearch-service.bat install

打开elasticsearch:

http://localhost:9200/