解决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变量。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
xcode8提交ipa失败无法构建版本问题的解决方案
-
xcode8提交ipa失败无法构建版本问题的解决方案
-
完美解决Jpush[获取sdk版本失败!]的问题
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
完美解决Jpush[获取sdk版本失败!]的问题
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
windows安装多个版本的jdk,解决java-version和javac-version版本不一致的问题
-
解决redis服务启动失败的问题
-
win10 64位系统中安装多个jdk版本的切换问题及解决方法小结
-
MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法