kafka群起脚本失败

脚本代码:

#!/bin/bash
case $1 in
"start"){
        for i in hadoop01 hadoop02 hadoop03
        do
                echo "-----------$i   Kafka start------------------"
                ssh $i "/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties"
    done
};;
"stop"){
        for i in hadoop01 hadoop02 hadoop03
        do
                echo "-----------$i   Kafka stop------------------"
                ssh $i "/opt/kafka/bin/kafka-server-stop.sh "
        done
};;
esac

问题:脚本启动,查看进程,没有Kafka进程,查看kafka/logs/server.log没有任何反应

解决方法:

1、先测试  ssh hadoop02 "which java"   是否有反应

如果显示no found,需要下面的配置

2、需要配置   vim ~/.bashrc

添加代码:

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/bin

将.bashrc文件分发到其他节点

3、继续测试  ssh hadoop02 "which java"  成功后重启脚本,看进程是否存在

其他方法:

检查broker.id是否不一致

zookeeper.connect是否正确

Kafka的环境变量

参考:https://www.cnblogs.com/ttzz/p/13355567.html

登录式Shell,采用用户名比如xxx登录,会自动加载/etc/profile

非登录式Shell,采用ssh比如ssh hadoop103登录,不会自动加载/etc/profile会自动加载~/.bashrc


版权声明:本文为weixin_45721882原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。