解决Elasticsearch因jdk版本问题启动失败的问题
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变量。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
上一篇: spring容器启动实现初始化某个方法(init)
下一篇: 假牙没扛住啊
推荐阅读
-
windows安装多个版本的jdk,解决java-version和javac-version版本不一致的问题
-
解决redis服务启动失败的问题
-
win10 64位系统中安装多个jdk版本的切换问题及解决方法小结
-
MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法
-
解决因文件权限导致git fetch命令执行失败的问题
-
Tomcat启动失败的问题排查与解决
-
ElasticSearch 安装root用户启动失败问题解决
-
elasticsearch hign level client 在jdk1.8,jetty中启动失败问题记录
-
解决Mac node版本升级失败的问题
-
Premiere CS6提示显卡驱动有问题怎么办? pr启动失败的解决办法