zookeeper一键启动关闭JAVA_HOME在PATH中找不到报错踩坑记

博主在学习Zookeeper时遇到启动问题,通过排查发现是环境变量配置不当。起初误认为是JDK版本过高,最终在调整环境变量设置,特别是将JAVA_HOME添加到my_env.sh文件后,问题得到解决。本文揭示了从JDK版本到配置文件的排错过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看了尚硅谷的zookeeper教程,在集群环境搭建中,
有这么一个脚本zk.sh用来一键启动和查询

#!/bin/bash
case $1 in
"start"){
for i in zknode2 zknode3 zknode4
do
 echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
};;
"stop"){
for i in zknode2 zknode3 zknode4
do
 echo ---------- zookeeper $i 停止 ------------ 
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
};;
"status"){
for i in zknode2 zknode3 zknode4
do
 echo ---------- zookeeper $i 状态 ------------ 
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
};;
esac

但是在启动时
出现了如下错误
在这里插入图片描述
可是我明明加进了环境变量,zookeeper启动时为什么显示JAVA_HOME is not set and java could not be found in PATH?
在这里插入图片描述
最后发现是环境变量配置出了问题。
我之前是按照网上的博客里面写的添加在了/etc/profile文件

export JAVA_HOME=存放的路径
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

看了一下之前的教程,添加方式是在/etc/profile.d/my_env.sh文件中添加

#JAVA_HOME
export JAVA_HOME=存放的路径
export PATH=$PATH:$JAVA_HOME/bin

然后我的问题解决了。

排错的过程是曲折的。一开始我认为jdk的环境变量不可能出问题,因为我直接复制别人博客里面的。
然后我试图按照网上的方法来手动添加一下,比如在zk.sh里面添加一下,但并没有成功。类似于下面这种方式
export JAVA_HOME="/usr/local/jdk1.8.0_261"
(也可能是我添加错文件或者添加的位置不对的原因所以并没有成功,我尝试了加载zk.sh前面。没有尝试直接执行或者加在zkEnv.sh里面,个人感觉这种方式应该是没有问题的)

之前我看到的一个博客
在这里插入图片描述

直到后面使用的版本换成了zookeeper3.4.9,发现zk.sh 中的start和stop可以用了,但是status还是不能成功,我开始觉得是zookeeper的版本问题,然后发现在下载的zookeeper包中的readme中有这么一段
在这里插入图片描述
难道是jdk版本太新了Zookeeper不支持?

于是我决定将jdk8u311换成了jdk8_u212试试。
我将jdk8u311换成了jdk8_u212,也就是这个时候开始按照尚硅谷教程里面的方式,这时惊奇地发现可以了。
于是我认为可能是jdk版本太新导致了这个错误的出现。我兴奋地以为是jdk8的小版本号不同的原因。
然而顺手重新用了一下jdk8u311,发现也可以。哦豁,竟然是环境变量配置的原因。困扰我两天的问题竟然是因为这个,排查了一天一夜绕了一大圈,小丑竟是我自己。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值