专栏名称: HULK一线技术杂谈
HULK是360的私有云平台,丰富的一线实战经验,为你带来最有料的技术分享
目录
相关文章推荐
Python爱好者社区  ·  确认裁员了,很严重,所有人做好准备吧! ·  2 天前  
武宣家园网  ·  618放大招!百力家具9.9抵500元补贴券 ... ·  昨天  
武宣家园网  ·  618放大招!百力家具9.9抵500元补贴券 ... ·  昨天  
中国市场监管新闻网  ·  立即停用,全额退款!知名品牌宣布 ·  昨天  
51好读  ›  专栏  ›  HULK一线技术杂谈

记一次Kafka集群的故障恢复

HULK一线技术杂谈  · 公众号  ·  · 2018-11-16 18:00

正文

请到「今天看啥」查看全文


1

集群故障发生

● 集群的实时监控发出一条写入数据失败的报警, 然后马上又收到了恢复的报警, 这个报警当时没有重要,没有去到对应的服务器上去看下log, 恶梦的开始啊~~~

● 很快多个业务反馈Topic无法写入, 运维人员介入


2

故障解决

● 运维人员首先查看kafka broker日志, 发现大量如下的日志:



● 这个问题就很明了了, 在之前的文章里有过介绍: Kafka运维填坑 , 上面也给出了简单修复, 主要原因是 新版kafka 客户端 sdk访问较旧版的kafka, 发送了旧版 kafka broker 不支持的request , 这会导致exception发生, 然后同批次select出来的所有客户端对应的request都将被抛弃不能处理,代码在 SocketServer.scala 里面, 大家有兴趣可以自行查阅

  1. 这个问题不仅可能导致客户端的request丢失, broker和broker, broker和controller之间的通讯也受影响;’

  2. 这也解释了为什么 实时监控 先报警 然后又马上恢复了: 不和这样不被支持的request同批次处理就不会出现问题;


● 解决过程:

  1. 我们之前已经修复过这个问题, 有准备好的相应的jar包;

  2. 运维小伙伴开始了愉快的jar包替换和启动broker的工作~~~~~~


3

集群恢复

● kafka broker的优雅shutdown的时间极不受控, 如果强行kill -9 在start后要作长时间的recovery, 数据多的情况下能让你等到崩溃;







请到「今天看啥」查看全文