我用Spring和Spring建立了我的项目,有三个消费者。通过查看日志,我可以看到,消费者不时地被断开连接:
catalina.out:2019-04-27 02:19:57.962 INFO 18245 --- [ntainer#2-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-2, groupId=FalconDataRiver1] Error sending fetch request (sessionId=1338157432, epoch=205630) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:57.962 INFO 18245 --- [ntainer#4-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-6, groupId=FalconDataRiver1] Error sending fetch request (sessionId=727942178, epoch=234691) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:57.962 INFO 18245 --- [ntainer#0-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-10, groupId=FalconDataRiver1] Error sending fetch request (sessionId=836405004, epoch=234351) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.023 INFO 18245 --- [ntainer#1-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-12, groupId=FalconDataRiver1] Error sending fetch request (sessionId=1385585601, epoch=234394) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.023 INFO 18245 --- [ntainer#3-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-4, groupId=FalconDataRiver1] Error sending fetch request (sessionId=452630289, epoch=201944) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.023 INFO 18245 --- [ntainer#5-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-8, groupId=FalconDataRiver1] Error sending fetch request (sessionId=78802572, epoch=103) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.040 INFO 18245 --- [ntainer#2-0-C-1] o.a.kafka.clients.FetchSessionHandler : [Consumer clientId=consumer-2, groupId=FalconDataRiver1] Error sending fetch request (sessionId=1338157432, epoch=INITIAL) to node 101: org.apache.kafka.common.errors.DisconnectException.我还没有在重新连接方面配置使用者。我知道Kafka文档中有两个属性:
reconnect.backoff.ms--当重新连接到已多次失败的代理时,等待的最长时间(毫秒)。如果提供,每台主机的退避将以指数方式增加,每次连续连接失败时,都会达到此最大值。在计算退避增加后,增加了20%的随机抖动以避免连接风暴。默认值1000毫秒)reconnect.backoff.ms--在尝试重新连接到给定主机之前等待的基本时间。这避免了在紧循环中重复连接到主机。此退避适用于客户端对代理的所有连接尝试。默认值50毫秒)
我可以看到,在上面的日志记录消息之后,这三个消费者仍然在消费。显然,它们已经从这些断开的异常中恢复过来。困扰我的是日志中没有任何记录重新连接和恢复过程的内容。
我是不是漏掉了什么?谢谢!
发布于 2019-04-30 21:52:20
Kafka会自动从这个内部错误中恢复,这就是为什么日志的级别是INFO。显然,您的消费者仍然能够使用这些消息。
将日志级别切换到DEBUG,以防您想获得更多关于造成这种情况的信息。
https://stackoverflow.com/questions/55928734
复制相似问题