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。