当防火墙在rc.local脚本上停止时,zookeeper自动启动操作失败

wvyml7n5  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(270)

iam在centos 7上使用hadoop apache 2.7.1,我的群集是ha群集,iam使用zookeeper仲裁进行自动故障转移
但我想自动化zookeeper启动过程,当然在shell脚本中,我们必须首先停止防火墙,以便让其他仲裁元素能够与当前zookeeper元素联系
iam正在/etc/rc.d/rc.local中编写以下脚本

hostname jn1

systemctl stop firewalld

ZOOKEEPER='/usr/local/zookeeper-3.4.9/'
source /etc/rc.d/init.d/functions

source $ZOOKEEPER/bin/zkEnv.sh

daemon --user root $ZOOKEEPER/bin/zkServer.sh start

但我面临的问题是当我发出命令时 systemctl stop firewalld 本地钢筋混凝土
并在主机引导后发出zkserver status,iam得到错误信息

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

但是,如果我执行相同的命令时没有使用脚本,我的意思是在我的主机像正常过程一样引导之后

systemctl status firewalld

zkServer start

没有问题,zkstatus显示其模式
我注意到在主机引导后执行rc.local脚本和普通命令在zookeeper.out日志中的区别
不同的是在正常的命令执行中读取服务器环境
在rc.local脚本上停止防火墙对服务器环境有什么影响?如何处理?

gc0ot86w

gc0ot86w1#

我有点头痛停止和重新启动防火墙的情况
我发现在rc.local停止防火墙是一种假停止
所以,因为我不想让防火墙工作,我最终得到了以下解决方案

systemctl disable firewalld

https://www.rootusers.com/how-to-disable-the-firewall-in-centos-7-linux/
所以防火墙在任何时候都不会再工作了

相关问题