当前位置: 首页 > 知识库问答 >
问题:

Elasticsearch从1.4.1升级到1.4.4后无法启动服务

濮阳鸿祯
2023-03-14

我已经使用ELS 1.4.1在Windows 7版本x64上成功安装了Elasticsearch。升级到Kibana 4 RTM后,需要ELS 1.4.4。

为了执行升级,我执行了以下步骤:

  1. 下载ELS 1.4.4
# Helps Chrome work properly
http.cors.allow-origin: "/.*/"
http.cors.enabled: true

启动服务后,它会在几秒钟内停止。记录如下:

(请注意,这是为了开发目的)

java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) Client VM (build 25.31-b07, mixed mode, sharing)
The Elasticsearch 1.4.4 (elasticsearch) service terminated with service-specific error Incorrect function..
2015-02-20 08:49:13 Commons Daemon procrun stderr initialized
Exception in thread "main" ror: Could not initialize class org.elasticsearch.Version
    at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:254)
    at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:238)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
The data area passed to a system call is too small.

Failed to start service
2015-02-20 08:46:03 Commons Daemon procrun stdout initialized
[2015-02-20 08:49:14] [info]  ( prunsrv.c:1284) [ 8560] Service started in 1198 ms.
[2015-02-20 08:49:14] [debug] ( prunsrv.c:844 ) [ 8560] reportServiceStatusE: 4, 0, 0, 0
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1528) [ 8560] Waiting for worker to finish...
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1533) [ 8560] Worker finished.
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1559) [ 8560] Waiting for all threads to exit
[2015-02-20 08:49:14] [debug] ( prunsrv.c:844 ) [ 8560] reportServiceStatusE: 3, 0, 0, 0
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1563) [ 8560] JVM destroyed.
[2015-02-20 08:49:14] [debug] ( prunsrv.c:844 ) [ 8560] reportServiceStatusE: 1, 1066, 0, 1
[2015-02-20 08:49:14] [info]  ( prunsrv.c:1598) [10064] Run service finished.
[2015-02-20 08:49:14] [info]  ( prunsrv.c:1764) [10064] Commons Daemon procrun finished
[2015-02-20 08:49:14] [info]  ( prunsrv.c:1764) [10064] Commons Daemon procrun finished
[2015-02-20 08:49:16] [error] ( prunsrv.c:746 ) [10116] Failed to start 'elasticsearch' service
[2015-02-20 08:49:16] [error] ( prunsrv.c:746 ) [10116] The data area passed to a system call is too small.
[2015-02-20 08:49:16] [info]  ( prunsrv.c:754 ) [10116] Start service finished.
[2015-02-20 08:49:16] [error] ( prunsrv.c:1755) [10116] Commons Daemon procrun failed with exit value: 5 (Failed to start service)
[2015-02-20 08:49:16] [error] ( prunsrv.c:1755) [10116] The data area passed to a system call is too small.

如果从命令提示符下运行elasticsearch,会出现以下错误:

c:\elk\elasticsearch\bin>elasticsearch
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
        at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:254)
        at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:238)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)

共有3个答案

缪志新
2023-03-14

该问题是由与Elastic一起分发的service.bat引起的,Elastic依赖于Apache Common Procrun,并使用未正确解析的环境变量%JAVA_HOME%设置JVM。

因此,我通过在出现在服务的GUI上设置“Default JVM”来解决这个问题。bat管理器

另一种通过命令行解决问题的方法是

elasticsearch-service-x64.exe //US//YOUR_SERVICE_NAME --Jvm auto

elasticsearch-service-x64.exe //US//elasticsearch-service-x64 --Jvm auto
欧阳意蕴
2023-03-14

我有同样的问题。它出现在更新到新版本的Java后。虽然我将"JAVA_HOME"变量的值更改为新的java目录,但问题仍然存在。

然后进入命令提示符,导航到ES目录并运行以下命令:

{ElasticSearch directory}\bin>service manager

此命令将打开Elasticsearch属性窗口。(http://i.stack.imgur.com/QQEPG.png)

然后转到Java选项卡,将Java虚拟机的路径更改为Java的新版本。之后就运行ES服务

{ElasticSearch directory}\bin>service start
虞修平
2023-03-14

我也有同样的问题,下面是我如何解决的。

我正在使用Windows Server 2008 R2 Enterprise-64位版本。Java(JRE)版本1.8一切正常。0_25。弹性搜索被安装为Windows服务。

正好在问题之前我更新了Java到version1.8.0_31并重新启动了机器。

首先,重启机器后,我注意到ElasticSearch服务已停止。尝试启动后,它再次停止。

以下是我在事件日志中看到的问题:

Elasticsearch 1.4.1(Elasticsearch-service-x64)服务因特定于服务的错误功能而终止。。

以下是我的elasticsearch-service-x64中的内容。2015-02-27.日志

[2015-02-27 14:38:29] [info]  [ 4948] Commons Daemon procrun (1.0.15.0 64-bit) started
[2015-02-27 14:38:29] [info]  [ 4948] Running 'elasticsearch-service-x64' Service...
[2015-02-27 14:38:29] [info]  [ 3048] Starting service...
[2015-02-27 14:38:29] [error] [ 3048] Failed creating java C:\Program Files\Java\jre1.8.0_25\bin\server\jvm.dll
[2015-02-27 14:38:29] [error] [ 3048] The system cannot find the path specified.
[2015-02-27 14:38:29] [error] [ 3048] ServiceStart returned 1
[2015-02-27 14:38:29] [error] [ 3048] The system cannot find the path specified.
[2015-02-27 14:38:29] [info]  [ 4948] Run service finished.
[2015-02-27 14:38:29] [info]  [ 4948] Commons Daemon procrun finished

然后我将JAVA_HOME系统变量的值更改为C:\Program Files\JAVA\jre1。8.0_31

当时的问题是:

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
        at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:254)
        at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:238)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)

>

  • 我已经从ElasticSearch文件夹中完全删除了文件夹binconfiglibplugins

    确保不要删除数据目录,因为那里有你的索引!

    运行F:\Services\elasticsearch\bin

    Installing service      :  "elasticsearch-service-x64"
    Using JAVA_HOME (64-bit):  "C:\Program Files\Java\jre1.8.0_31"
    The service 'elasticsearch-service-x64' has been installed.
    

    开始服务

    然后一切都开始正常运转。

  •  类似资料:
    • 我在Windows 7虚拟机上安装了XAMPP。我的旧PHP版本是7.0.9,Apache 2.4 我需要将PHP版本升级到7.1.x,我开始阅读如何最好地做到这一点。最后,我选择了一个简单的计划: > 停止Apache服务 从PHP官方网站下载了新的PHP版本。对于PHP 7,列出了7.1.17版本。我下载了线程安全版本,因为我的Apache启用了线程安全。 我将下载的存档文件的内容提取到一个文

    • 我在周末将笔记本电脑从Kubuntu 12.04升级到12.10,一切看起来都很好,直到我重新开始工作。 笔记本电脑是一台通过php5 fpm运行Nginx和php的webdev机器,但现在看来php5 fpm不会启动。当我运行/etc/init时。d/php5 fpm重启我刚收到一条消息说失败。我在syslog或/var/log/fpm php中没有收到任何消息。www.log提供有关正在发生的

    • 将debian 8 jessie升级到debian 9 strech后,ssh服务无法启动 ssh.service-OpenBSD Secure Shell server loaded:loaded(/lib/systemd/system/ssh.service;enabled;vendor preset:enabled) active:failed(结果:exit-code)自世界协调时2021

    • 我从Windows7升级到Windows10。在Bitnami堆栈中,MySQL正在运行,但我无法在Windows启动时启动Apache作为服务。我尝试过使用管理器工具。我尝试了很多方法,包括:将侦听端口和服务器名更改为8888,之后更改为8118,关闭Windows Defender,查看Apache的日志目录和错误目录中的文件(未找到任何条目),按下启动Bitnami Webstack按钮(只

    • 堆栈跟踪如下: 结果StackTrace:在OpenQa.Selenium.Remote.HttpCommandExecutor.MakeHttpRequest(HttpRequestInfo requestInfo)在OpenQa.Selenium.Remote.Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute)在Ope

    • 参考文献:http://jenkins-ci.org/content/good-bye-java6