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脚本上停止防火墙对服务器环境有什么影响?如何处理?
1条答案
按热度按时间gc0ot86w1#
我有点头痛停止和重新启动防火墙的情况
我发现在rc.local停止防火墙是一种假停止
所以,因为我不想让防火墙工作,我最终得到了以下解决方案
https://www.rootusers.com/how-to-disable-the-firewall-in-centos-7-linux/
所以防火墙在任何时候都不会再工作了