我已经下载了zookeeper-3.4.5.tar.gz,在解压后我写了conf / zoo.cfg为
tickTime=2000
dataDir=/var/zookeeper
clientPort=2181
现在我尝试通过bin / zkServer.sh start启动zookeeper 它给出了
mohit@mohit:~/zookeeper-3.4.5/bin$ sudo sh zkServer.sh start
[sudo] password for mohit:
JMX enabled by default
Using config: /home/mohit/zookeeper-3.4.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
但是
$ echo ruok | nc localhost 2181
没有提供任何输出。
我检查了zookeeper.out,它给出了
mohit@mohit:~/zookeeper-3.4.5/bin$ cat zookeeper.out
nohup: failed to run command ‘java’: No such file or directory
mohit@mohit:~/zookeeper-3.4.5/bin$
但是我的JAVA变量已设置好,我不明白为什么会出现这个错误?
mohit@mohit:~/zookeeper-3.4.5/bin$ echo $JAVA_HOME
/usr/lib/jdk
mohit@mohit:~/zookeeper-3.4.5/bin$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jdk/bin
请帮助。提前谢谢:)
答案 0 :(得分:3)
解决方案:
Sudo改变了环境。
所以我为root设置了环境变量。
感谢Elliott Frisch。
答案 1 :(得分:0)
只需在zkServer.sh
的开头添加以下行export JAVA_HOME=/usr/lib/jdk
export PATH=$JAVA_HOME/bin:$PATH
btw1:您可以通过以下方式使脚本可执行:
sudo chmod a+x zkServer.sh
我认为第一行是:#!/ bin / bash所以你可以通过以下方式启动它:
sudo zkServer.sh start
BTW2:如果没有必要的话,以root身份运行java代码是不好的做法。 祝你好运。
BTW3:你确定你的jdk直接在文件夹中:/ usr / jib / jdk而不是某个子文件夹吗?您可以通过运行导出来验证它,然后尝试:java -version