安装了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. spring-boot 速成(11) - 单元测试

    一.添加依赖项: testCompile 'org.springframework.boot:spring-boot-starter-test:1.5.2.RELEASE' 二.单元测试代码示例 im ...

  2. In order to use an interrupt in a Cortex-M3/M4, you need the following

    a stack. The core automatically saves several registers on the stack when an interrupt fires. Initia ...

  3. CTreeCtrl和CListCtrl失去焦点时高亮选中项

    设置CTreeCtrl的Always Show Selection:TrueCListCtrl的Always Show Selection:False在NM_CUSTOMDRAW事件中添加如下代码: ...

  4. 完美.PCK文件不完全详解

    building.pck:建筑物 configs.pck:配置文件interface.pck:玩过魔兽的都晓得这个是什么~interface顾名思义·facedata.pck,人物脸型,细节.不要改, ...

  5. Delphi 19种反调试检测法

    //使用IsDebuggerPresent这个API来检测是否被调试function FD_IsDebuggerPresent(): Boolean;beginif IsDebuggerPresent ...

  6. win7设置电脑锁屏时间

    方法/步骤 1 小编用的win7电脑,进入控制面板先~ 2 选择系统与安全选项. 3 如图所示,箭头所指,可以设置锁屏时间,不过电源选项中还有个设置开启屏幕输入密码的设置,第一个就是. 4 如图所示, ...

  7. .NET:一微秒内可能执行多条 DateTime.Now

    出现BUG的上下文 自己写的工作流引擎出现了一点问题,就是因为可能存在一个请求同时流转两个节点(不必深究这个问题),因为每个节点都有一个“进入时间”,引擎的实现将最后一个“进入时间“对应的节点当作了” ...

  8. Unity3D 的大场景内存优化

    我们公司的一个 MMORPG 项目最近在内存方面碰到了红线,昨天开会讨论了一下.我提出了一个改进方案,写篇 blog 记录一下. 问题是这样的.在当下的手机及平板硬件设备条件下,操作系统留给应用的可用 ...

  9. SharePoint Online 创建和使用栏

    前言 本文介绍如何在Office 365中创建和使用栏. 正文 通过登录地址登录到Office 365的SharePoint Online站点中,我们可以在右上角的设置菜单中,进入网站内容: 找到我们 ...

  10. algid parse error, not a sequence错误

    主要使用由于没有对使用openssl生成的公私密钥对进行pkcs8编码,导致程序无法识别参考支付宝.项目用用到RSA加密用openssl生成了一个公私密钥对,在对加密字符串进行数字签名的时候,程序一直 ...