今天在线上实际环境遇到了一个这样的问题,今天扩容了一台机器,这台机器没有过多的配置,监听及生产消费方都是走默认配置,既取hostname方式(这个算是故意而为之),因为新扩容上的机器,没有partition,认为不会影响到线上其它消费服务,但是问题这之后就发生了,我们线上很多消费者进程僵死,因为无法解析这个hostname,所以引起消费延迟,后来我们紧急下线问题节点,重启消费者之后恢复业务,针对这个问题我想请教老师是大概一个上面原因能引起这种情况呢?
因为我们认为我们上线节点只要不迁移分区就可以了,没想到引起了一系列的问题,所以还想深入请教下,避免后续事宜再次发生。
kafka版本是2.1.1
当新kafka节点加入,集群之间会同步集群信息,客户端(消费者和生产者)随后也会同步收到kafka集群信息,之后进行心跳监测,当客户端进行健康监测时,发现有kafka节点不通,就会进行重新平衡,同时反馈到kakfa集群之间,但kafka集群之间都认为该节点正常(hostname能解析),所以当客户端同步集群信息时,该节点还会返回给客户端,客户端反复重新平衡,影响到消费者。
你的答案