一 zookeeper服务启动报错
1 报错信息:
JMX enabled by default Using config: /software/zookeeper/bin/../conf/zoo.cfg Error contacting service. It is probably not running.
2 原因
zookeeper服务启动失败,节点连接异常
3 解决办法
网上搜的解决办法有很多,开放端口、端口占用,防火墙未关闭等,所有方法都试了,但是仍然启动失败。
最终解决办法:
发现本机同时安装了iptables和firewalld防火墙,而且会有冲突,需要禁用一个防火墙
本文采用的是禁用iptables,启动firewalld防火墙,命令如下
systemctl stop iptables.service systemctl mask iptables.service systemctl unmask firewalld.service systemctl restart firewalld.service #启动firewalld防火墙
然后重启zookeeper服务
service zookeeper start 查看当前状态 service zookeeper status
这种启动方式需要将zookeeper加入到开机自启,方法见下文
4 网上普遍的解决办法:
1、开放端口
#添加 firewall-cmd --zone=public --add-port=3288/tcp --permanent #重启 firewall-cmd --reload 查看开放端口 firewall-cmd --list-ports
2、关闭防火墙
查看防火墙状态 systemctl status firewalld 关闭防火墙 systemctl stop firewalld 禁止开机启动防火墙 systemctl disable firewalld
3、如果集群没有启动,那么该端口不应该被占用
netstat -apn | grep 2181 #默认2181端口为服务端提供端口,如果你的修改了,按你的实际情况为准 # 查询出来占用2181端口的进程PID后杀掉即可 kill -9 pid
一般会有启动失败的zookeeper进程在
二、zookeeper开机自启服务
1 配置zookeeper启动脚本,然后分发到三台主机
vim /etc/init.d/zookeeper
#!/bin/bash #chkconfig:2345 20 90 #description:Zookeeper Service Control Script ZK_HOME='/software/zookeeper' case in start) echo "zookpeeper 启动" echo "$ZK_HOME/bin/zkServer.sh start" $ZK_HOME/bin/zkServer.sh start ;; stop) echo "zookpeeper 停止" echo "$ZK_HOME/bin/zkServer.sh stop" $ZK_HOME/bin/zkServer.sh stop ;; restart) echo "zookpeeper 重启" echo "$ZK_HOME/bin/zkServer.sh restart" $ZK_HOME/bin/zkServer.sh restart ;; status) echo "zookpeeper 状态" echo "$ZK_HOME/bin/zkServer.sh status" $ZK_HOME/bin/zkServer.sh status ;; *) echo "Usage:2、设置开机自启,每台机群
{start|stop|restart|status}" esac
[root@localhost conf]# chmod +x /etc/init.d/zookeeper [root@localhost conf]# chkconfig --add zookeeper 分别启动Zookeeper [root@localhost conf]# service zookeeper start 查看当前状态 [root@localhost conf]# service zookeeper status
猜你喜欢
网友评论
- 搜索
- 最新文章
- 热门文章