zookeeper无法正常启动:报错为:nohup: 无法运行命令 ‘/opt/jdk/bin/java‘: 没有那个文件或目录
得到:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin。好久没有打开zookeeper,之前是可以正常启动的,今天不知道为什么不行。地址改成真实的就行了,再启动zookeeper就成功了。4、最后打开zkServer.sh文件,把。显示已启动,但是再检
好久没有打开zookeeper,之前是可以正常启动的,今天不知道为什么不行
输入bin/zkServer.sh status
$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/laylay/cluster/zookeeper/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED
显示已启动,但是再检查jps,发现没成功
$ jps
15689 Jps
查看zookeeper.out文件vim zookeeper.out
,发现有报错nohup: 无法运行命令 '/opt/jdk/bin/java': 没有那个文件或目录
去Stack Overflow搜了一下,这个帖子和我情况相似
跟着帖子尝试解决:
1、先查看JAVAHOME和PATH地址:
$ echo $JAVA_HOME
得到:/opt/jdk
$ echo $PATH
得到:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
2、然后打开zkServer.sh文件,在第一行加入以下内容:
export JAVA_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
其中$JAVA_HOME和$PATH就是上边echo $JAVA_HOME命令和echo $PATH命令得到的结果,所以我的对应就是:
export JAVA_HOME=/opt/jdk
export PATH=/opt/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
但加入之后再启动zookeeper还是没成功。又在帖子下看到有人说“Your JAVA_HOME
point to /usr/bin/java
file but it should point to root directory of your JDK,So, try to set valid path to JDK root directory. I think it should fix your problem”,不懂具体什么意思,但大概推测一下就是说echo $JAVA_HOME
命令给出的结果是错的,这个地址并不是JAVA_HOME
的真实地址
3、找到JAVA_HOME真实地址
先找到JAVA安装地址:
$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
再进一步查看
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Mar 30 01:40 /usr/bin/java -> /etc/alternatives/java
进一步查看:
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Mar 30 01:40 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
记住这个地址/usr/lib/jvm/java-11-openjdk-amd64
打开 /etc/environment
:
$ sudo nano /etc/environment
在打开的文件里加入这两行(JAVA_HOME=刚刚记下的地址):
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JAVA_HOME
修改完成后,更新地址:
$. /etc/environment
再次查看JAVA_HOME地址:
$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64
得到的就是真实的地址了
4、最后打开zkServer.sh文件,把JAVA_HOME
地址改成真实的就行了,再启动zookeeper就成功了vim zkServer.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
更多推荐
所有评论(0)