zookeeper.out nohup: failed to run command `java'

详细错误信息:zookeeper.out nohup: failed to run command `java(/XX/XX)’: No such file or directory

问题描述

当启动zookeeper时,bin/zkServer.sh start能够正常运行,显示started。但随之使用bin/zkServer.sh status检查zookeeper状态时,提示出现错误: Error contacting service. It is probably not running,说明zookeeper在启动时还是出现了错误。

应对措施

那么第一步我们需要查看zookeeper的日志信息,对症下药。使用vim或者cat命令查看在zookeeper目录下的zookeeper.out文件,就会出现如题错误zookeeper.out nohup: failed to run command `java(/XX/XX)’: No such file or directory

出现这种错误提示是因为zookeeper在运行的时候没有找到 ‘java’ 这个东西!!

改正方法:

  1. 检查、修改环境变量

这种错误出现在/etc/profile(/etc/environment、~/.bashrc)文件当中,检查java环境配置是否正确,自己依照文件中的java地址在文件目录中找一下,看能否找到对应的java。如果可以那么就不是什么低级错误,用下一种方法。

2.修改zkServer.sh文件

那么既然是在运行zkerver.sh 脚本时出现的错误,那么就一定与该文件相关。

从错误提示中我们可以看出是nohup执行某个命令时出错,找到对应的句子:

nohup “$JAVA” “-Dzookeeper.log.dir=${ZOO_LOG_DIR}” “-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}”

就是这个$JAVA,把他改成你的java环境变量。

我的做法是在文件开头加入:

1.export JAVA_HOME=/usr/java/jdk-8u211-linux-x64/jdk1.8.0_211(java环境 = /etc/profile中的环境变量)

2. 修改该句为nohup “$JAVA_HOME/bin/java” “-Dzookeeper.log.dir=${ZOO_LOG_DIR}” “-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}”($JAVA_HOME/bin/java就等于/usr/java/jdk-8u211-linux-x64/jdk1.8.0_211/bin/java, 也就是你的java的地址)

重启zookeeper后,大功告成!!!

    原文作者:妙想
    原文地址: https://zhuanlan.zhihu.com/p/68850967
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞