服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 解决Elasticsearch因jdk版本问题启动失败的问题

解决Elasticsearch因jdk版本问题启动失败的问题

2021-11-01 10:56拖鞋团团长 Java教程

这篇文章主要介绍了解决Elasticsearch因jdk版本问题启动失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Elasticsearch2.4版本,在Linux机器上启动报如下错误:

Exception in thread "main" java.lang.RuntimeException: Java version: Oracle Corporation 1.7.0_45 [OpenJDK 64-Bit Server VM 24.45-b08] suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.
Please upgrade the JVM, see http://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html for current recommendations.
If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JAVA_OPTS environment variable.
Upgrading is preferred, this workaround will result in degraded performance.
        at org.elasticsearch.bootstrap.JVMCheck.check(JVMCheck.java:123)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:284)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45)
Refer to the log for complete error details.

看网上有说Linux自带的OpenJDK和新装的JDK可能会有冲突(跟Elasticsearch无关的文章),不知道和这个有没有没关系。

我的机器java -version如下,这算冲突吗?我也不清楚。

java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

本来打算试一试删掉OpenJDK安装JDK7的,当时上官网下载Linux版JDK7时发现竟然要下载三个多小时,下载这个不知道为什么这么慢。

等JDK7时,我看报错信息里please add -XX:-UseSuperWord to the JAVA_OPTS environment variable让我配置环境变量,那我配一下也无妨。

在终端上输入

export JAVA_OPTS=$JAVA_OPTS-XX:-UseSuperWord

然后启动Elasticsearch,成了。

上边那句只在当前用户下生效,关闭终端或者退出用户后,即使再次登录,环境变量也失效了。机器不是我的,我没有root权限改环境变量。

一不做二不休,我在Elasticsearch的启动文件/bin/elasticsearch里加上这行,这样每次启动就没问题了。

截图如下

解决Elasticsearch因jdk版本问题启动失败的问题

解决ElasticSearch找不到JDK问题

Could not find any executable java binary.Please install java in your PATH

背景:

本地启动ElasticSearch服务提示找不到JDK或JRE,提示Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME.

解决Elasticsearch因jdk版本问题启动失败的问题

但是本地已经安装了jdk,并且已经配置了环境变量,但是为什么还是有问题,答案是不要把环境变量设置到bin目录。

解决方案:

设置环境变量JAVA_HOME,但是注意不要设置到in这个级别的目录

  • JAVA_HOME:C:Program Files (x86)Javajdk1.8.0_91in (错误)
  • JAVA_HOME:C:Program Files (x86)Javajdk1.8.0_91 (正确)

原因:

启动文件中的elasticsearch文件中,会自动去找JAVA_HOME这个变量下的bin,如下图,如果设置了JAVA_HOME这个变量到bin路径,就会有重复,导致ElasticSearch启动找不到jdk变量。

解决Elasticsearch因jdk版本问题启动失败的问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_32539053/article/details/105586366

延伸 · 阅读

精彩推荐
  • Java教程Java实现抢红包功能

    Java实现抢红包功能

    这篇文章主要为大家详细介绍了Java实现抢红包功能,采用多线程模拟多人同时抢红包,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java BufferWriter写文件写不进去或缺失数据的解决

    Java BufferWriter写文件写不进去或缺失数据的解决

    这篇文章主要介绍了Java BufferWriter写文件写不进去或缺失数据的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望...

    spcoder14552021-10-18
  • Java教程20个非常实用的Java程序代码片段

    20个非常实用的Java程序代码片段

    这篇文章主要为大家分享了20个非常实用的Java程序片段,对java开发项目有所帮助,感兴趣的小伙伴们可以参考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    这篇文章主要介绍了Java使用SAX解析xml的示例,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代码

    小米推送Java代码

    今天小编就为大家分享一篇关于小米推送Java代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    富贵稳中求8032021-07-12
  • Java教程Java8中Stream使用的一个注意事项

    Java8中Stream使用的一个注意事项

    最近在工作中发现了对于集合操作转换的神器,java8新特性 stream,但在使用中遇到了一个非常重要的注意点,所以这篇文章主要给大家介绍了关于Java8中S...

    阿杜7482021-02-04
  • Java教程xml与Java对象的转换详解

    xml与Java对象的转换详解

    这篇文章主要介绍了xml与Java对象的转换详解的相关资料,需要的朋友可以参考下...

    Java教程网2942020-09-17
  • Java教程升级IDEA后Lombok不能使用的解决方法

    升级IDEA后Lombok不能使用的解决方法

    最近看到提示IDEA提示升级,寻思已经有好久没有升过级了。升级完毕重启之后,突然发现好多错误,本文就来介绍一下如何解决,感兴趣的可以了解一下...

    程序猿DD9332021-10-08