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问题

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.

但是本地已经安装了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变量。

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