版权声明:本文为博主原创文章,未经博主允许不得转载!!

欢迎访问:https://blog.csdn.net/qq_21439395/article/details/80870973
<https://blog.csdn.net/qq_21439395/article/details/80870973>

交流QQ: 824203453

 

基于zookeeper 3.4.6版本

因为zookeeper本身没有批量启动脚本,所以,每次都需要一台机器一台机器的启动。非常麻烦。

这里提供一个zookeeper的集群批量启动脚本。
#!/bin/bash ZOOKEEPER_HOME=/root/apps/zookeeper-3.4.6 if [ $ZOOKEEPER_HOME !=
"" ]; then ZOOCFG=$ZOOKEEPER_HOME/conf/zoo.cfg SLAVES=$(cat "$ZOOCFG" | sed
'/^server/!d;s/^.*=//;s/:.*$//g;/^$/d') for s in $SLAVES do echo "INFO:starting
zookeeper on ${s}" ssh $s "source /etc/profile;$ZOOKEEPER_HOME/bin/zkServer.sh
start" if [ $? != 0 ]; then echo "Can not starting zookeeper server on host
$s}" exit 1 fi done fi
思路:

设置zookeeper安装目录

获取安装目录下的zoo.cfg配置文件(该文件中有所有的zookeeper节点)

获取该配置文件中的所有的zookeeper节点。

循环遍历,利用ssh命令启动每台机器上的zookeeper。

注意事项:

1,本次测试的3台机器主机名分别是hdp-01,hdp-02和 hdp-03。
然后hdp-01到hdp-02和hdp-01到hdp-03的单向免密登录是通的。否则就需要先进行免密登录配置。(因为没有全部配通免密登录,所有启动命令只能在hdp-01上执行即可,如果想在任意一台机器上都能执行,那么就需要配置所有的免密登录)

2,在ssh 远程启动脚本中,先执行了 source
/etc/profile,重新加载了系统环境变量。目的是为了把jdk的命令加载到当前系统环境中,否则报错。

报错如下:



一键停止,只需要把start命令改成stop命令即可,获取通过参数穿的具体的操作也是ok的。

 

版权声明:本文为博主原创文章,未经博主允许不得转载!!

欢迎访问:https://blog.csdn.net/qq_21439395/article/details/80870973
<https://blog.csdn.net/qq_21439395/article/details/80870973>

交流QQ: 824203453

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信