转载请注明原创地址 http://www.cnblogs.com/dongxiao-yang/p/5621303.html

最近发现kafka一台服务器producer客户端写入时一直报错,查看该broker服务日志发现日志一直输出下面的内容,看上去应该是broker尝试在zk上注册节点但是产生了session冲突之类的问题。

[2016-06-27 17:05:56,608] INFO I wrote this conflicted ephemeral node [{"jmx_port":9999,"timestamp":"1467018354343","host":"xxx.kafka.hadoop.qingdao.youku","version":1,"port":9090}] at /brokers/ids/15 a while back in a different session, hence I will backoff for this node to be deleted by Zookeeper and retry (kafka.utils.ZkUtils$)

google发现与下列jira上的bug表述的问题是一样的,尤其是1387上James Lent 描述的bug复现过程基本解释清楚了为什么会产生这个问题。

https://issues.apache.org/jira/browse/KAFKA-1393

https://issues.apache.org/jira/browse/KAFKA-1387

注意这句话 Kafka broker re-registers itself in zookeeper every time handleNewSession() callback is invoked.

    def handleNewSession() {info("re-registering broker info in ZK for broker " + brokerId)
-->   register()info("done re-registering broker")info("Subscribing to %s path to watch for new topics".format(ZkUtils.BrokerTopicsPath))}

假定有下列场景

1 kafka服务端的zkclient与zk服务器session超时,我们给这个session取名为session-a

2 zkclient重新与zkserver建立session-b,但是handleNewSession()事件卡住没有触发,我们给这次方法回调起名handleNewSession-a

3 session-b再次超时

5 继续重连进入session-c,handleNewSession()注册临时节点成功,session-c稳定存在

6 handleNewSession-a 调用,但是handleNewSession-a持有的是session-b无法成功

7  handleNewSession-a 不断重试建立连接,进入死循环。

查看zk日志发现出现问题的broker的确在zkserver产生了三次Accepted socket connection行为,其中第三次连接建立后broker日志开始产生conflicted ephemeral node错误日志并不断死循环,所以证明该服务器的确是经历了上述过程,重启broker后问题解决,但是broker服务器handleNewSession第一次阻塞的原因暂时还没有查清楚,目前看来跟集群reblance有关系

kafka broker 进入 conflicted ephemeral node 死循环相关推荐

  1. Kafka broker配置介绍 (四)

    这部分内容对了解系统和提高软件性能都有很大的帮助,kafka官网上也给出了比较详细的配置详单,但是我们还是直接从代码来看broker到底有哪些配置需要我们去了解的,配置都有英文注释,所以每一部分是干什 ...

  2. 【kafka】kafka broker 限流 topic 限流 配额

    纪念一波,九师兄博客热门订阅专栏时常名列前茅,我飘了,哈哈哈哈,得意的笑 1. 概述 翻译:配额 4.9 配额 Kafka集群有能力对请求执行配额来控制客户端使用的代理资源.Kafka broker可 ...

  3. 【Kafka】Kafka broker id 解释以及 自动生成id

    1.概述 转载:https://honeypps.com/mq/kafka-params-analysis-of-broker-id/ 2.Kafka参数broker.id详解 kafka在启动服务之 ...

  4. Kafka Broker

    文章目录 Kafka Broker Kafka Broker工作流程 Zookeeper存储的Kafka信息 Kafka Broker总体工作流程 Broker重要参数 生产经验-节点服役和退役 服役 ...

  5. kafka broker监听多个IP地址

    场景 kafka broker所在服务器有多个ip地址,需要进行监听. 如server有A.B两个ip地址,producer连接A发送消息,consumer连接B消费 配置 方法一 方法二 监听地址配 ...

  6. kafka(三):kafka broker

    文章目录 1. broker总体工作流程 2. Broker重要参数 3. broker节点的服役和退役 3.1 服役新节点 3.2 退役旧节点 4. kafka副本与leader选举 4.1 副本基 ...

  7. Kafka Broker 工作流程

    Zookeeper存储的Kafka的信息 查看zookeeper中的kafka节点所存储的信息 启动Zookeeper客户端 [atguigu@hadoop104 zookeeper-3.5.7]$ ...

  8. 大数据-kafka学习(三)——Kafka Broker

    目录 一.Kafka Broker工作 1.1 .zookeeper中存储的kafka信息 1.2.broker总体工作流程 二.kafka副本 2.1.副本的基本信息 2.2.Leader选举流程 ...

  9. java 连接kafka之坑Connection to node 0 could not be established. Broker may not be available

    最近学习kafka java api遇到一个特别坑的问题:<Connection to node 0 could not be established. Broker may not be av ...

最新文章

  1. dell r740如何做raid_戴尔入门级4K、IPS广色域显示器:S2721QS表现如何?
  2. 300+队伍/8大直播间,这场NXP智能车竞赛谁才是真的神车?
  3. html语言 大全,HTML语言大全
  4. python中反射(__import__和getattr使用)
  5. 用python怎样用程序输出文字_如何用Python输出PPT中的文字信息
  6. 编译NVIDIA之Video_Codec_SDK_9.1.23之Sample
  7. 前端的小玩意(9.4)——做一个仿360工具箱的web页面(自动生成所有图标,对图标添加响应逻辑)
  8. 方维直播最新版服务端网站搭建3.1--1
  9. 裸辞自学java和报培训班_程序员:裸辞十多天,不敢告诉家里人,假装每天上班,安静地成长...
  10. 安装谷歌插件,程序包无效,解决方法
  11. 成百家之言,纳万端思辨,SDCC 2017·深圳站响号以待
  12. git PR合并提交(rebase方式)
  13. 判断手机是否支持google play服务
  14. 细说shiro之一:shiro简介
  15. IDEA快捷键设置复制上一行
  16. 大数据项目实践过程笔记
  17. python3 pdf 转 txt
  18. 买《Kotlin从小白到大牛》专题视频课程,送配套纸质图书
  19. 计算机基础应用总结,计算机应用基础总结.doc
  20. 计算机excel试题各科学员,职称计算机考试excel复习试题「含答案」

热门文章

  1. oracle收集统计信息之analyze
  2. Python爬虫 --爬取京东酒店旅行信息
  3. Django----做一个简单网页的教程(适合初学者)
  4. Android颜色对照表
  5. VM14+CentOS7安装教程
  6. Git和Bitbucket入门之代码上传
  7. wms、wmts、wfs等地图服务区别
  8. 程序员生存定律-选公司前要干的事:分类
  9. Linux / Windows系统中安装最新版 ElasticSearch (es)搜索引擎 超详细图文教程【一看就懂】
  10. 美国大厂新员工薪资曝光! 微软最高近30万美元,TikTok低至时薪30美元