Ubuntu启动zookeeperError: JAVA_HOME is not set and java could not be found in PATH.
ZooKeeper启动时报错场景
-
报错信息
报错信息很明显说是我jdk路径没有设置,但是通过查询我Ubuntu虚拟机的jdk环境是正常的,信息如下 -
安装的jdk版本信息
-
Java环境的配置信息
-
通过查看之后,验证之后java环境是正常的,因为启动Zookeeper,之前首先会加载zkEvn.sh脚本文件,于是通过查看zkEvn.sh查看启动脚本信息发现。
if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
JAVA="$JAVA_HOME/bin/java"
elif type -p java; then
JAVA=java
else
echo "Error: JAVA_HOME is not set and java could not be found in PATH." 1>&2
exit 1
fi
通过配置文件发现,在加载配置文件的时候他会验证JAVA_HOME环境变量,验证不通过的话就会报下面错误
"Error: JAVA_HOME is not set and java could not be found in PATH."
5.于是我通过·上网查找,按照网上说法是直接把JAVA_HOME的配置信息,写在zkEvn.sh脚本文件
- 但是配置之后,加载资源之后,启动还是报错,当时很困惑,虚拟机的jdk环境是正常的为什么还是报错说JAVA_HOME is not set and java could not be found in PATH,于是我试着减低jdk版本,安装jdk1.8之后还是启动不了。
- 最终解决方法,到之后我试着减低Zookeeper的版本信息,但下载安装zookeeper-3.4.14版本之后,突然发现启动成功了,这个问题很诡异,欢迎大家来解惑。