2025年2月19日 星期三 甲辰(龙)年 腊月十九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > 中间件

ZooKeeper安装后无法启动JAVA_HOME is not set and java could not be found in PATH.

时间:07-15来源:作者:点击数:23

JAVA_HOME is not set and java could not be found in PATH.

在安装后使用命令./zkServer.sh start启动出现JAVA_HOME找不到的提示

去查看/etc/profile文件,其中已经对JAVA_HOME进行了定义

  • #java environment
  • export JAVA_HOME=/usr/java/jdk1.8.0_261
  • export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
  • export PATH=$PATH:${JAVA_HOME}/bin

经过查阅资料发现,zookeeper在启动的时候会进行执行两个文件

  • zkEnv.sh
  • zkServer.sh
    其中在zkEnv.sh文件中,有一段代码将检查JAVA_HOME, 如下
  • 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_HOEM时失败了,但是我又已经配置了JAVA_HOEM,既然它读取不到,那就手动在这段代码前对起进行赋值好了,在这段代码前加上对JAVA_HOME的赋值,如下

  • JAVA_HOME=/usr/java/jdk1.8.0_261
  • 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

然后再次运行命令启动

在这里插入图片描述

发现启动运行命令执行成功,看似已经启动成功,我再执行./zkServer.sh status查看zookeeper运行状态,提示如下:

在这里插入图片描述

启动失败,查看日志发现是8080端口冲突

在这里插入图片描述

当前服务器正在运行tomcat,当时tomcat的默认端口没修改,导致端口冲突,随后将tomcat默认端口为80

我的tomcat安装路径为:/usr/local/tomcat

先停止tomcat服务/usr/local/tomcat/bin/shutdown.sh

进入配置文件目录,找到一个文件名为server.xml的配置文件

在这里插入图片描述

找到这一段,将8080修改为80·

重启服务/usr/local/tomcat/bin/startup.sh

再次执行zookeeper启动命令

在这里插入图片描述

启动成功!!!

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门