启动zookeeper、kafka报错,sudo java未找到

2022年10月5日11:15:18

sudo ./zkServer.sh start
启动zookeeper,java未找到:
Error: JAVA_HOME is not set and java could not be found in PATH.

sudo ./kafka-server-start.sh …/config/server.properties
启动kafka,java未找到:
kafka-run-class.sh: line *: exec: java: not found

原因:
使用了sudo命令
尝试执行 sudo java -version 命令,发现sudo找不到java命令
sudo: java: command not found

解决,让sudo能找到java命令

  • 方法1:
# 在/usr/bin/中生成java命令软链接,记得替换成自己的java路径
# java和javac都要,如果只有java没有javac,sudo还是无法执行java命令
ln -s /usr/local/java/jdk1.8.0_291/bin/java /usr/bin/
ln -s /usr/local/java/jdk1.8.0_291/bin/javac /usr/bin/
  • 方法2
# 直接修改sudo的配置文件 /etc/sudoers
sudo vim /etc/sudoers
# 在 secure_path 后面直接加上java路径 :/usr/local/java/jdk1.8.0_291/bin
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/local/java/jdk1.8.0_291/bin"

都是sudo惹的祸,感觉不要用sudo命令运行更好些。用sudo命令启动后,后续的很多命令可能都要用sudo命令,并不方便。
可以用sudo chown -R user:group directory命令把zookeeper、kafka和它们要用的相关目录授权给普通用户,然后就可以不使用sudo(root身份)来启动。

  • 作者:weihan7
  • 原文链接:https://blog.csdn.net/qq_36640955/article/details/117126426
    更新时间:2022年10月5日11:15:18 ,共 858 字。