无法启动弹性搜索服务

时间:2016-03-30 09:56:40

标签: elasticsearch windows-server-2008-r2

我正在尝试在Windows 2008 R2服务器上启动Elastic Search服务,但它无法启动。它之前已经运行了几个月没有问题。

在服务方面,我收到了消息:

" Windows无法在本地计算机上启动Elasticsearch 1.7.2(ELASTIC_POC)。有关更多信息,请查看系统事件日志。如果这是non_Microsoft服务,请与服务供应商联系,并参阅特定于服务的错误代码1."

事件日志非常无用,显示以下错误:

" Elasticsearch 1.7.2(ELASTIC_POC)服务进入停止状态。"

" Elasticsearch 1.7.2(ELASTIC_POC)服务因服务特定错误而终止,功能不正确。"

我确实在Elastic Search自己的日志文件中获得了更多信息:

[2016-03-30 10:47:22] [info]  [ 3988] Running 'ELASTIC_POC' Service...
[2016-03-30 10:47:22] [info]  [ 3760] Starting service...
[2016-03-30 10:47:22] [error] [ 3760] Failed creating java C:\Progra~2\Java\jre1.8.0_60\bin\client\jvm.dll
[2016-03-30 10:47:22] [error] [ 3760] The system cannot find the path specified.
[2016-03-30 10:47:22] [error] [ 3760] ServiceStart returned 1
[2016-03-30 10:47:22] [error] [ 3760] The system cannot find the path specified.
[2016-03-30 10:47:22] [info]  [ 3988] Run service finished.
[2016-03-30 10:47:22] [info]  [ 3988] Commons Daemon procrun finished

检查C:\ Program Files(x86)\ Java \ jre1.8.0_60,它只包含一个名为" lib"的文件夹。 (这是空的)。有一个" jre1.8.0_73"包含多个文件的文件夹,"包括\ bin \ client \ jvm.dll"

如何让Elastic Search使用更高版本的Java版本,或者恢复jre1.8.0_60文件夹的内容?我似乎无法找到(安全下载)安装程序..

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:19)

您的Java Runtime Environment很可能会自动更新。

这将打破Elastic Search,因为你有一个名为JAVA_HOME的环境变量,现在指向错误的位置。

首先,进入程序文件/ java并找到JRE的新文件夹。它可能是更晚的版本号。示例:代替jre1.8.0_73,可能是jre1.8.090或者更高的数字加在最后。

相应地更新您的JAVA_HOME环境变量。

然后,在对弹性搜索文件进行适当备份后,在启用admin的命令提示符下,导航到弹性搜索bin文件夹。

输入以下命令

 service remove
 service install

然后,您可能希望进入services.msc并从"手动启动"切换服务。到"自动"或者"自动延迟"

有人可能认为在更新JAVA_HOME环境变量之后重新安装服务是不必要的,但是我的安装是必要的。

答案 1 :(得分:2)

已解决,再次安装服务..

打开

{路径到弹性搜索} \ BIN \

在命令提示符下,

并运行

服务安装

它不允许我运行

服务删除,所以我现在如何列出两个弹性搜索服务,但是,这是一个测试服务器,所以没关系。

答案 2 :(得分:0)

对我来说,这是由于更新Java后注册表中的问题引起的。看来,较早版本的服务安装程序会在注册表项中对Java路径进行硬编码,而它们应取决于JAVA_HOME环境变量。

在注册表中找到以下项: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\elasticsearch-service-x64\Parameters\Java\Jvm。 如果它看起来像是jvm.dll的硬编码路径,请将其值更改为%JAVA_HOME%\bin\server\jvm.dll并尝试启动该服务。

答案 3 :(得分:0)

只需逐步执行以下步骤,然后您的弹性搜索安装将起作用: 高级系统设置>>环境变量>>系统变量>> path >>新建,然后插入最新的java jdk路径。像这样:C:\ Program Files \ Java \ jdk-11.0.3 \ bin