kafka群起脚本启动不了:nohup: failed to run command `java‘: No such file or directory

博客内容描述了在尝试使用脚本启动kafka集群时遇到的问题,错误信息为`nohup: failed to run command `java`: No such file or directory`。解决方案是在启动kafka前先确保zookeeper已启动,特别是当zookeeper作为kafka的依赖时。

kafka群起脚本启动不了:nohup: failed to run command `java’: No such file or directory

原先脚本停止是可以的,但是启动不行启动不了:

#!/bin/bash

case $1 in
"start"){
   
   
    for i in hadoop102 hadoop103 hadoop104
    do
        echo " --------start $i Kafka-------"
        ssh $i "/opt/module/kafka_0.11.0/bin/kafka-server-start.sh -daemon /opt/module/kafka_0.11.0/config/server.properties"
    done
}
这个错误信息表明系统在尝试执行 `java` 命令时,找不到该命令,通常意味着 Java 没有安装,者虽然安装了但没有正确配置环境变量[^1]。以下是具体的解决办法: ### 检查 Java 是否安装 可以通过以下命令检查 Java 是否已经安装: ```bash java -version ``` 如果显示 `command not found`,则说明 Java 未安装,需要安装 Java。以在基于 Debian Ubuntu 的系统上安装 OpenJDK 为例: ```bash sudo apt update sudo apt install openjdk-11-jdk ``` 在基于 Red Hat CentOS 的系统上可以使用以下命令安装: ```bash sudo yum install java-11-openjdk-devel ``` ### 配置环境变量 若 Java 已安装,但环境变量未正确配置,也会出现该错误。需要配置 `JAVA_HOME`、`PATH` 等环境变量。 1. **查找 Java 安装路径**: ```bash which java ``` 通常输出结果类似 `/usr/bin/java`,这可能是一个软链接,需要找到实际的 Java 安装目录,使用以下命令: ```bash readlink -f /usr/bin/java | sed "s:bin/java::" ``` 得到的结果就是 `JAVA_HOME` 的值。 2. **编辑环境变量文件**: 打开 `~/.bashrc` 者 `/etc/profile` 文件(前者为用户级配置,后者为系统级配置): ```bash nano ~/.bashrc ``` 在文件末尾添加以下内容(假设 `JAVA_HOME` 为 `/usr/lib/jvm/java-11-openjdk-amd64`): ```bash export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin ``` 3. **使配置生效**: ```bash source ~/.bashrc ``` ### 检查脚本中环境变量的加载 如果是在脚本中使用 `nohup` 运行 `java` 命令,确保脚本中加载了环境变量。例如在 Kafka 群起脚本中,通过 `source /etc/profile` 来加载环境变量: ```bash #!/bin/bash case $1 in "start"){ for i in hadoop102 hadoop103 hadoop104 do echo " --------start $i Kafka-------" ssh $i "source /etc/profile;nohup /opt/module/kafka_0.11.0/bin/kafka-server-start.sh -daemon /opt/module/kafka_0.11.0/config/server.properties >/dev/null 2>&1 &" done };; "stop"){ for i in hadoop102 hadoop103 hadoop104 do echo "----------stop $i kafka---------" ssh $i "source /etc/profile; /opt/module/kafka_0.11.0/bin/kafka-server-stop.sh" done };; esac ``` ### 检查文件权限 确保 Java 可执行文件有执行权限: ```bash chmod +x /usr/bin/java ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值