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

发布时间:2021-08-02 15:01:10 作者:chen
来源:亿速云 阅读:342

本篇内容主要讲解“如何解决Elasticsearch因jdk版本问题启动失败的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Elasticsearch因jdk版本问题启动失败的问题”吧!

Elasticsearch3.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,但是注意不要设置到\bin这个级别的目录

原因:

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

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

到此,相信大家对“如何解决Elasticsearch因jdk版本问题启动失败的问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. cacti模板因版本问题或hash问题无法导入解决办法
  2. 解决redis服务启动失败的问题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

elasticsearch jdk

上一篇:python3中怎么判断奇偶数

下一篇:Nginx中怎么实现多重判断

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》