Zookeeper集群部署及报错分析
安装
-
下载压缩包
-
解压
-
修改zoo.cfg文件
-
创建myid文件
-
启动
-
自启动配置
有时间再补hhh
报错处理
很荣幸的遇到了大部分报错,日志再zookeeper目录的bin下的zookeeper.outvim zookeeper.out
- 首先zookeeper集群需要至少3台服务器,不然就会出现下面的报错:
2020-06-24 09:17:39,299 [myid:] - WARN [main:QuorumPeerConfig@351]
- No server failure will be tolerated. You need at least 3 servers.
- 部署完之后需要开放相应的端口,关闭防火墙或者加入白名单
* 2888
* 2181
* 3888
- zookeeper集群启动的时候如果不是同时启动,就会报下面的错,很正常
2020-06-24 09:17:39,637 [myid:1] - WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@584] - Cannot open channel to 2 at election address /49.232.208.52:3888
这个主要是因为启动的时候,最先启动的服务器一定不会检测到第2第3台,第二台启动的时候不会检测到第三台,所以都会报这个错,第三台正常情况下不会报错,这个时候,等启动完成之后把报错的再restart一次就好了
- 如果是阿里云,腾讯云的云服务器,使用的是虚拟网卡,没有物理网卡,会报下面的错误:
[/114.55.145.131:3888:QuorumCnxManager$Listener@760] - Exception while liste
Cannot assign requested address (Bind failed) zookeeper
这个报错也可能是端口被占用,检测方法
netstat -napl|grep java
如果有3888,则端口被占用,没有的话就是虚拟网卡(可能),上图是修改之后的,3888和2181由同一个进程启动
检测是不是虚拟网卡的方法
ifconfig
这种情况修改zoo.cfg文件就可以
加一条quorumListenOnAllIPs=true
本文来自博客园,作者:两小无猜,转载请注明原文链接:https://www.cnblogs.com/charlottepl/p/13185917.html