Zookeeper集群部署及报错分析

安装

  1. 下载压缩包

  2. 解压

  3. 修改zoo.cfg文件

  4. 创建myid文件

  5. 启动

  6. 自启动配置

有时间再补hhh

报错处理


很荣幸的遇到了大部分报错,日志再zookeeper目录的bin下的zookeeper.outvim zookeeper.out

  1. 首先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.
  1. 部署完之后需要开放相应的端口,关闭防火墙或者加入白名单

  * 2888
  * 2181
  * 3888
  1. 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一次就好了

  1. 如果是阿里云,腾讯云的云服务器,使用的是虚拟网卡,没有物理网卡,会报下面的错误:

[/114.55.145.131:3888:QuorumCnxManager$Listener@760] - Exception while liste
Cannot assign requested address (Bind failed) zookeeper

这个报错也可能是端口被占用,检测方法
netstat -napl|grep java

Zookeeper集群部署及报错分析_第1张图片

如果有3888,则端口被占用,没有的话就是虚拟网卡(可能),上图是修改之后的,3888和2181由同一个进程启动

检测是不是虚拟网卡的方法

ifconfig
Zookeeper集群部署及报错分析_第2张图片

这种情况修改zoo.cfg文件就可以
加一条quorumListenOnAllIPs=true

感谢大佬的思路

你可能感兴趣的:(Zookeeper集群部署及报错分析)