zookeeper集群部署及启动后报错ZooKeeper JMX enabled by default...

这一生的挚爱 提交于 2019-12-05 05:25:13
部署Zookeeper集群
1.解压文件
[admin@admin01 modules]$ tar -zxvf zookeeper-3.4.5.tar.gz 
2.修改文件配置信息
[admin@admin01 conf]$ pwd
/home/admin/opt/softwares/zookeeper-3.4.5/conf
[admin@admin01 conf]$ 

在路径/home/admin/opt/softwares/zookeeper-3.4.5/conf下,首先将zoo_sample.cfg重命名为zoo.cfg然后修改里面的配置信息。具体的修改的信息如下图所示:
在这里插入图片描述

配置参数解读:

1)tickTime=2000:通信心跳数,Zookeeper服务器心跳时间,单位毫秒
2)initLimit=10:Leader和Follower初始通信时限
3)syncLimit=5:Leader 和 Follower 同步通信时限
4)dataDir:数据文件目录+数据持久化路径
5)clientPort=2181:客户端连接端口

Server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的 ip 地址;
C 是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

[admin@admin01 zookeeper-3.4.5]$ mkdir zkData
[admin@admin01 zookeeper-3.4.5]$ touch zkData/myid
[admin@admin01 zookeeper-3.4.5]$ echo 1 >> zkData/myid
3.分发文件
[admin@admin01 softwares]$ scp -r zookeeper-3.4.5/ admin02:/home/admin/opt/softwares/
[admin@admin01 softwares]$ scp -r zookeeper-3.4.5/ admin03:/home/admin/opt/softwares/

注意:分发之前要保证各个虚拟机之间能够进行无密钥访问(即ssh需要配置)。

4.启动集群

在每个节点路径下/home/admin/opt/softwares/zookeeper-3.4.5分别启动Zookeeper:

[admin@admin02 zookeeper-3.4.5]$ bin/zkServer.sh start
5.操作Zookeeper

a.启动zookeeper

[admin@admin01 zookeeper-3.4.5]$ bin/zkServer.sh start

b.查看进程是否启动

[admin@admin01 zookeeper-3.4.5]$ jps
2726 Jps
2683 QuorumPeerMain

c.查看状态:

[admin@admin01 zookeeper-3.4.5]$ bin/zkServer.sh status

d.启动客户端:

[admin@admin01 zookeeper-3.4.5]$ bin/zkCli.sh

e.退出客户端:

[zk: localhost:2181(CONNECTED) 0] quit

f.停止 zookeeper

[admin@admin01 zookeeper-3.4.5]$ bin/zkServer.sh stop

今天在部署完成Zookeeper集群之后,尝试初次启动集群,每个Zookeeper节点都报出同样的错误信息,如下错误:

[admin@admin01 zookeeper-3.4.5]$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/admin/opt/softwares/zookeeper-3.4.5/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

在这里插入图片描述
通过查看配置文件发现几个端口未打开,无法进行集群,具体如下:
在这里插入图片描述

  • 2888端口号是zookeeper服务之间通信的端口。
  • 3888端口是zookeeper与其他应用程序通信的端口。
  • 2181端口是zookeeper客户端请求接口。

可能是因为防火墙关闭的原因,未能给予端口权限,因此无法正常启动Zookeeper集群。故此需要在此解决端口权限问题:

解决方法:

以打开3306端口为例:

问题排查
1.Java环境
java -version
2.排查端口占用情况
netstat -apn | grep 2181   #默认2181端口为服务端提供端口

备注:若集群未启动 则不应该有端口占用

kill -9 pid                #pid为占用端口的进程id号
3.排除网卡问题
[root@admin01 zookeeper-3.4.5]# ifconfig   
或者是
[root@admin01 zookeeper-3.4.5]#  ip addr

在这里插入图片描述
备注:如果为物理地址则需要重新启动网卡:

[root@admin01 zookeeper-3.4.5]# service network restart          # CentOS-6.x 的命令
[root@admin01 zookeeper-3.4.5]# systemctl  restart network      # CentOS-7.x 的命令
4.排除网络问题
ping ip               #ping其他节点主机 若zoo.cfg 使用域名则用域名
或者是:
[root@admin01 ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121: icmp_seq=1 ttl=128 time=15.6 ms
64 bytes from 61.135.169.121: icmp_seq=2 ttl=128 time=61.6 ms

备注:无ping命令则安装 yum install iputils-ping 若有问题则 host映射问题

5.排查节点配置信息

dataDir 是否存在 myid文件内容与 service.x 中x对应
例如:zookeeper 其对应service.x 则该目录下myid内容为1

6.删除节点残留信息
rm -rf version-2/ zookeeper_server.pid
7.防火墙拦截端口

方法一:

直接修改/etc/sysconfig/iptables文件

[root@admin01 ~]# vi /etc/sysconfig/iptables

增加如下一行:-A INPUT -p tcp -m tcp --dport 2888 -j ACCEPT

service iptables restart   #重新启动防火墙

注意:
[root@admin01 ~]# vi /etc/sysconfig/iptables路径下添加的时候,需要在 COMMIT之前加入命令,否则在重新启动防火墙的时候会报出如下的错误信息;

[root@admin03 ~]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore: line 14 failed
                                                           [FAILED]

方法二:
 [root@admin01 ~]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  # 开启3306权限
 [root@admin01 ~]# /etc/rc.d/init.d/iptables save   # 保存设置
 [root@admin01 ~]# /etc/init.d/iptables status  #查看防火墙状态
 [root@admin01 ~]# service iptables restart    #重新启动防火墙

按照上面操作的方法,即可成功启动zookeeper节点,方法二就不再详细概述:

[admin@admin03 zookeeper-3.4.5]$ bin/zkServer.sh start
JMX enabled by default
Using config: /home/admin/opt/softwares/zookeeper-3.4.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!