格式化zookeeper时报错:拒绝连接

本文详细介绍了如何启动Zookeeper集群,并在遇到拒绝连接错误时进行故障排查的过程。涉及防火墙设置、网络检查及配置文件调整,最终成功解决连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先启动zookeeper集群:在每个节点的Zookeeper安装目录的bin目录下执行命令:

sh zkServer.sh start

jps命令查看启动后的节点:

zookeeper集群启动后,在zk的leader节点上执行:这个指令的作用是在zookeeper集群上生成ha节点(ns节点)

hdfs zkfc -formatZK

报如下错误:

20/04/10 14:58:47 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: 拒绝连接
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
	at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
20/04/10 14:58:47 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop03/192.168.254.24:2181. Will not attempt to authenticate using SASL (unknown error)
20/04/10 14:58:47 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: 拒绝连接
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
	at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
20/04/10 14:58:48 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop02/192.168.254.23:2181. Will not attempt to authenticate using SASL (unknown error)

 

 

分析原因:

  • 首先,查看防火墙时候关闭

CentOS 6.5
service iptables start;#立即开启防火墙,但是重启后失效。
service iptables stop;#立即关闭防火墙,但是重启后失效。

chkconfig iptables on;#开启防火墙,重启后生效
chkconfig iptables off;#关闭防火墙,重启后生效 

CentOS 7
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止启动防火墙


 

  • 然后,查看是否是网卡和网络问题

可以用 ip addr 或是 ifconfig 命令查看IP

重启网卡命令:service network restart

ping一下其他节点,验证网络没有故障:ping 192.168.254.23

 

 

  • 最后,查看是否是配置问题

  1. zoo.cfg文件
  2. myid文件

zoo.cfg文件配置如下:

dataDir=/home/hadoop/hadoop/zookeeper-3.4.7/tmp
server.1=192.168.254.22:2888:3888
server.2=192.168.254.23:2888:3888
server.3=192.168.254.24:2888:3888

新建一个tmp文件夹,把myid放在tmp文件夹下:

[root@hadoop01 zookeeper-3.4.7]# mkdir tmp
[root@hadoop01 zookeeper-3.4.7]# cd tmp
[root@hadoop01 tmp]# vim myid

myid中内容要与server.x的x一致,例如:这里要在三个节点的myid里填入1、2、3

 

 

重新执行:hdfs zkfc -formatZK

出现如下界面证明排错成功:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值