安装了ElasticSearch5.5.1后,每次启动服务的时候,都是启动了一下就自动停止了。查看了一下EventViewer, 错误信息如下:

Application: elasticsearch.exe

Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception.

Exception Info: Elastic.ProcessHosts.Process.StartupException

at Elastic.ProcessHosts.Process.ProcessBase.HandleException(System.Exception)

at System.Reactive.ObserverBase`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnError(System.Exception)

at System.Reactive.Observer`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnError(System.Exception)

at System.Reactive.Linq.ObservableImpl.AsObservable`1+_[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnError(System.Exception)

at System.Reactive.AutoDetachObserver`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnErrorCore(System.Exception)

at System.Reactive.ObserverBase`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnError(System.Exception)

at Elastic.ProcessHosts.Process.ObservableProcess+<>c__DisplayClass22_0.<CreateProcessExitSubscription>b__0(System.Reactive.EventPattern`1<System.Object>)

at System.Reactive.AnonymousSafeObserver`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].OnNext(System.__Canon)

at System.EventHandler.Invoke(System.Object, System.EventArgs)

at System.Diagnostics.Process.OnExited()

at System.Diagnostics.Process.RaiseOnExited()

at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.Object, Boolean)

 

看不出来什么。

用命令行定位到ElasticSearch的安装目录,在命令行运行elasticsearch.exe, 错误信息如下:

C:\Program Files\Elastic\Elasticsearch\bin>elasticsearch.exe

java.lang.UnsupportedClassVersionError: org/elasticsearch/bootstrap/Elasticsearc

h : Unsupported major.minor version 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14

2)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

 

 

Exception in thread "main"

 

看来是Java的版本不对。然后再在命令行运行elasticsearch.exe --debug-env, 结果如下:

C:\Program Files\Elastic\Elasticsearch\bin>elasticsearch.exe --debug-env

-------------

Elasticsearch

-------------

ES_HOME (in order of precedence)

- HomeDirectoryProcessVariable = C:\Program Files\Elastic\Elasticsearch\

- HomeDirectoryUserVariable =

- HomeDirectoryMachineVariable = C:\Program Files\Elastic\Elasticsearch\

- From executable location = C:\Program Files\Elastic\Elasticsearch

ES_CONFIG (in order of precedence)

- ConfigDirectoryProcessVariable = C:\ProgramData\Elastic\Elasticsearch\config

- ConfigDirectoryUserVariable =

- ConfigDirectoryMachineVariable = C:\ProgramData\Elastic\Elasticsearch\config

- Fallback to ES_HOME = C:\Program Files\Elastic\Elasticsearch\config

 

-------------

Java

-------------

Java paths

- current = C:\Program Files\Java\jdk1.7.0_67\bin\java.exe

Java Candidates (in order of precedence)

- JavaHomeProcessVariable =

- JavaHomeUserVariable =

- JavaHomeMachineVariable =

- JdkRegistry64 = C:\Program Files\Java\jdk1.7.0_67

- JreRegistry64 = C:\Program Files\Java\jre1.8.0_144

- JdkRegistry32 =

- JreRegistry32 = C:\Program Files (x86)\Java\jre1.8.0_111

Java checks

- Using32BitJava = False

- JAVA_HOME as machine and user variable = False

 

搜索了一下错误信息:

org/elasticsearch/bootstrap/Elasticsearc h : Unsupported major.minor

 

上面说的是ElasticSearch5.0至少需要Java8。 于是安装了Java8 Update.

结果还是一样。难道需要重新安装ElasticSearch?

于是卸载重新安装。重新安装了还是不行。

仔细看了一下--debug-env的结果,发现jre虽然已经更新到了8,但是jdk还是7,那么就重新安装JDK8试试吧。

JDK8的下载地址在这里:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装后再运行--debug-env, 发现jdk和jre都是8了。

C:\Program Files\Elastic\Elasticsearch\bin>elasticsearch.exe --debug-env

-------------

Elasticsearch

-------------

ES_HOME (in order of precedence)

- HomeDirectoryProcessVariable = C:\Program Files\Elastic\Elasticsearch\

- HomeDirectoryUserVariable =

- HomeDirectoryMachineVariable = C:\Program Files\Elastic\Elasticsearch\

- From executable location = C:\Program Files\Elastic\Elasticsearch

ES_CONFIG (in order of precedence)

- ConfigDirectoryProcessVariable = C:\ProgramData\Elastic\Elasticsearch\config

- ConfigDirectoryUserVariable =

- ConfigDirectoryMachineVariable = C:\ProgramData\Elastic\Elasticsearch\config

- Fallback to ES_HOME = C:\Program Files\Elastic\Elasticsearch\config

 

-------------

Java

-------------

Java paths

- current = C:\Program Files\Java\jdk1.8.0_144\bin\java.exe

Java Candidates (in order of precedence)

- JavaHomeProcessVariable =

- JavaHomeUserVariable =

- JavaHomeMachineVariable =

- JdkRegistry64 = C:\Program Files\Java\jdk1.8.0_144

- JreRegistry64 = C:\Program Files\Java\jre1.8.0_144

- JdkRegistry32 =

- JreRegistry32 = C:\Program Files (x86)\Java\jre1.8.0_111

Java checks

- Using32BitJava = False

- JAVA_HOME as machine and user variable = False

 

再次启动ElasticSearch服务,成功了!不再自动停了。

ElasticSearch无法启动的更多相关文章

  1. 【spring boot】【elasticsearch】spring boot整合elasticsearch,启动报错Caused by: java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8

    spring boot整合elasticsearch, 启动报错: Caused by: java.lang.IllegalStateException: availableProcessors ], ...

  2. ElasticSearch本人启动报错总结

    1.报错关键代码如下: Exception in thread "main" 2019-04-28 03:53:04,339 main ERROR No log4j2 config ...

  3. elasticsearch开机启动脚本

    最近搭建了一个elasticsearch服务,其中机器重启而ES服务没有重启是问题,就有下面的脚本 #!/bin/sh #chkconfig: #description: es export JAVA ...

  4. ElasticSearch停止启动

    1.查找ES进程 ps -ef | grep elastic 2.杀掉ES进程 kill -9 2382(进程号) 3.重启ES sh elasticsearch -d 注意:elasticsearc ...

  5. Elasticsearch之启动(前台和后台)

    分为两种情况,取决于是否安装了tomat. 一.若安装了tomcat 1.es的前台启动 需要先启动tomcat,再启动es,否则会报错! 所以,得 2.es的后台启动 [hadoop@HadoopM ...

  6. 配置ElasticSearch快捷启动

    在/etc/init.d目录下新建文件elasticsearch #!/bin/sh #chkconfig: 2345 80 05 #description: es #export JAVA_HOME ...

  7. 启动elasticsearch报错

    could not find java; set JAVA_HOME or ensure java is in PATH 首先需要安装java 1.yum list installed |grep j ...

  8. ElasticSearch 在3节点集群的启动

    ElasticSearch的启动分前台和后台启动 先介绍前台启动: 先在master节点上启动 可以看到已经启动了 同时在slave1.slave2节点上也启动 可以看到都已经启动了! 在浏览器分别打 ...

  9. Elasticsearch源码分析 | 单节点的启动和关闭

    本文主要简要介绍Elasticsearch单节点的启动和关闭流程.Elasticsearch版本:6.3.2 相关文章 1.Google Guice 快速入门 2.Elasticsearch 中的 G ...

随机推荐

  1. STM32 UART DMA实现未知数据长度接收

    串口通信是经常使用到的功能,在STM32中UART具有DMA功能,并且收发都可以使用DMA,使用DMA发送基本上大家不会遇到什么问题,因为发送的时候会告知DMA发送的数据长度,DMA按照发送的长度直接 ...

  2. 报错:Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.

    在保存数据的时候报这个错误,知道是验证错误,但到底是哪个属性验证错误呢? →打断点,运行,观察程序出错的地方→在出错的部分添加try...catch语句块→添加监视,输入((System.Data.E ...

  3. 选股:“均线是水,K线是舟,量是马达!”的选美理念!

    选股:“均线是水,K线是舟,量是马达!”的选美理念! 很多庄家就是故意做数据,让某只股票的数据非常符合“理论”,引诱“技术派”股民

  4. 《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了

    如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期.也就是在2015年8月18号正式不删档测试版本推出之后, ...

  5. java swing MenuItem乱码处理

    用java开发一个带有托盘图标的程序, 其它模块的中文显示都是正常的,就只有托盘中点击小图标时弹出的菜单中的中文是方框(中文方块) 解决: 1: 在你的具有main函数的类也即你应用运行的主类上点击右 ...

  6. SharePoint 修改项目的new图标显示天数

    前言 最近有这么个需求,用户需要修改新建项目前面的new图标的显示天数,查了很久,发现有powershell命令或者stsadm命令可以,分享给大家. PowerShell命令 $wa = Get-S ...

  7. Android5.0 ListView特效的简单实现

    Android5.0中对于动画可所谓是情有独钟,在设计规范中大量展现了listview的动画,其实也就是一个目的:将items动画显示出来.这个看起来很炫的效果,其实实现也蛮简单的,我下面就来用动画简 ...

  8. 《UNIX环境高级编程(第3版)》

    <UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...

  9. Hype cycle(Gartner 成熟度曲线)

        Hype cycle The hype cycle is a branded graphical presentation developed and used by the American ...

  10. Http请求中Content-Type讲解以及在Spring MVC注解中produce和consumes配置详解

    原文地址:  https://blog.csdn.net/shinebar/article/details/54408020 引言: 在Http请求中,我们每天都在使用Content-type来指定不 ...