Kafka Zookeeper ZkTimeoutException解决方法

Kafka Zookeeper ZkTimeoutException解决方法


最近工作涉及到Kafka和zookeeper,在服务器上运行项目一直出现Zookeeper TimeOut报错:

[ERROR 2018-04-02 14:15:24] {com.unistacks.tamboo.manager.service.DataCollectorService:78} - saveTopicInfo
org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 30000
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1232) ~[zkclient-0.8.jar!/:?]
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:156) ~[zkclient-0.8.jar!/:?]
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:130) ~[zkclient-0.8.jar!/:?]
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:97) ~[zkclient-0.8.jar!/:?]
    at com.unistacks.tamboo.manager.helper.ZKHelper.getZkClient(ZKHelper.java:18) ~[classes!/:1.0.0]
    at com.unistacks.tamboo.manager.service.KafkaBaseInfoService.getTopicInfoList(KafkaBaseInfoService.java:105) ~[classes!/:1.0.0]
    at com.unistacks.tamboo.manager.service.DataCollectorService.saveTopicInfo(DataCollectorService.java:69) [classes!/:1.0.0]
    at com.unistacks.tamboo.manager.service.OperationShellService.cascadeExecute(OperationShellService.java:74) [classes!/:1.0.0]
    at com.unistacks.tamboo.manager.service.AbstractCascadeOperationService.executeAgentShellSync(AbstractCascadeOperationService.j
ava:103) [classes!/:1.0.0]

网上搜了一圈,大概有一下解决方法:

  1. 启动kafka
  2. 关闭防火墙
  3. 核实服务器时间
  4. 查看项目引入zookeeperjar包和服务器安装的zookeeper版本是否一致

尝试以上方法结果都没解决,最后再次查看监控日志发现,创建topic实际上已经成功,但是后面服务会再次连接zookeeper进行执行相关脚本操作。回到代码层面仔细查看发现,会从数据库一次性findAll出所有创建的集群,然后遍历,对每一个集群进行当前执行的操作,实际上,真正的集群只有193中的dev,其他的集群与dev共用同一个zookeeper地址,dev为正常集群,项目服务无法通过zookeeper连接连接上其他集群。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值