欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-12 22:34:14
elasticsearch2.4版本,在linux机器上启动报如下错误:exception in thread "main" java.lang.runtimeexception: java vers...

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

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

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

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

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

在终端上输入

然后启动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这个级别的目录

  • java_home:c:\program files (x86)\java\jdk1.8.0_91\bin (错误)
  • java_home:c:\program files (x86)\java\jdk1.8.0_91 (正确)

原因:

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

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

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