The server disconnected before a response was received,going to request metadata update now

坏脾气先森 发表于: 2020-12-11   最后更新时间: 2020-12-13 00:38:11   8,027 游览

问题现象

往kafka写入数据的时候,出现如下异常:

org.apache.kafka.common.errors.NetworkException: The server disconnected before a response was received,going to request  metadata update now

同时kafka server.log有类似的Attempting to send response via channel for which there is no open connection异常。

目前所作的检查

检查Kafka集群网络,目前网络是正常的。

对于这种问题,还望大佬能帮忙看看是啥问题。

发表于 2020-12-11
添加评论

kafka在诊断网络问题时,需要清楚地了解哪个客户端在什么时间与哪个broker断开连接。

目前,当生产者在响应中收到NETWORK_EXCEPTION时,会记录以下内容。

[Producer clientId=<CLIENT>] Received invalid metadata error in produce request on partition <partition> due to org.apache.kafka.common.errors.NetworkException: The server disconnected before a response was received.. Going to request metadata update now

所以,你这个错误是客户端已经断开了连接,broker还未来得及响应产生的。
如果未影响业务,可以忽视。(一般是客户端未优雅停机)

大佬,你好,客户端目前是一直在往kafka写数据的,出现上述的告警以后,生产者那边也会出现告警,也就影响到了业务。看集群的网络,内存使用,磁盘io这些都是正常的。一般如果客户端是后台程序,如果出现上述的问题,一般从哪几个方面入手观察呢。

先确认客户端是否有进行优雅停机。

大佬,问题解决了吗?我也刚遇到了。问一下,你现在还有这个问题吗

半兽人 -> 似水流年 3年前

(他回信息了,但是是邮件形式回复到管理员里了,我把内容贴给你.)
坏脾气先森:
这个解决倒是解决了呢,但是我们当时出现这个问题是由于在启动其他节点,导致在reblance的时候,出现了这个问题

使用的producer的close方法,应该就是优雅停机了,是否加 get() 方法改为同步发送就会避免这个网络断开的问题呢?

加get没用哦,连接还是同一条,只是阻塞等待确认。

你的答案

查看kafka相关的其他问题或提一个您自己的问题