zoukankan      html  css  js  c++  java
  • zookeeper客户端 和服务器连接时版本问题

     在使用kafka 和zookeeper 实现实时分析程序时,由于zookeeper部署版本和分析程序导入jar包的版本不一致,导致了当实时分析程序从远程服务器连接kafka集群的zookeeper时报错,错误信息如下:

    [html] view plain copy
     
    1. 2012-12-31 10:51:41,562-[TS] INFO main-EventThread org.I0Itec.zkclient.ZkClient - zookeeper state changed (Disconnected)  
    2. 2012-12-31 10:51:43,008-[TS] INFO main-SendThread(17.22.17.1:2181) org.apache.zookeeper.ClientCnxn - Opening socket connection to server /17.22.17.1:2181. Will not attempt to authenticate using SASL (unknown error)  
    3. 2012-12-31 10:51:43,009-[TS] INFO main-SendThread(17.22.17.1:2181) org.apache.zookeeper.ClientCnxn - Socket connection established to /17.22.17.1:2181, initiating session  
    4. 2012-12-31 10:51:43,011-[TS] WARN main-SendThread(17.22.17.1:2181) org.apache.zookeeper.ClientCnxnSocket - Connected to an old server; r-o mode will be unavailable  
    5. 2012-12-31 10:51:43,011-[TS] INFO main-SendThread(17.22.17.1:2181) org.apache.zookeeper.ClientCnxn - Session establishment complete on server /17.22.17.1:2181, sessionid = 0x13b8a23254100be, negotiated timeout = 6000  
    6. 2012-12-31 10:51:43,012-[TS] INFO main-EventThread org.I0Itec.zkclient.ZkClient - zookeeper state changed (SyncConnected)  
    7. 2012-12-31 10:51:47,012-[TS] INFO main-SendThread(17.22.17.1:2181) org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 4002ms for sessionid 0x13b8a23254100be, closing socket connection and attempting reconnect  

           还有一个现象就是:实时分析程序不停的抛出上述的错误。

           从错误日志中我们可以发现,zookeeper的客户端 可以建立和zookeeper server的连接,但是在等待zookeeper server 的返回数据时却超时了。正是这些日志,把我们引入了歧途,我们一致认为是网络的某个地方出现了问题(因为机房的网络架构比较复杂,分析程序和kafka直接存在交换机和防火墙),在试图解决该问题的过程中,我们始终纠结在这个问题上。

          直到我们打算放弃的时候,准备将实时分析程序和kafka部署在同一台服务器上,组内的另外一名同事提醒我检查下是否是zookeeper版本的问题。我对比了分析程序和kafka zookeeper 的版本,发现两者的版本的确是不一致的,程序中使用的是 zookeeper.3.4.4,而kafka的zookeeper 是 3.3.4。我在更新了分析程序的zookeeper版本后,运行测试程序,竟然连接成功了,分析程序也运行正常。

  • 相关阅读:
    Web前端基础(1):HTML(一)
    python基础(35):协程
    python基础(34):线程(二)
    python基础(33):线程(一)
    python基础(32):进程(二)
    python基础(31):进程(一)
    python基础(30):黏包、socket的其他方法
    用keychain这个特点来保存设备唯一标识。
    判断iPhone的WiFi是否打开的两种方法 之是否连接上 WiFi
    NSStringCompareOptions
  • 原文地址:https://www.cnblogs.com/austinspark-jessylu/p/6956319.html
Copyright © 2011-2022 走看看