kafka CommitFailedException:协调者不知道该成员。尽管对每 100 毫秒和单个消费者进行民意调查

man*_*anu 5 apache-kafka

我使用的是 kafka 1.1.0,单个消费者,尽管我的轮询速度非常快,每 100 毫秒进行一次轮询,但我收到此错误。我使用手动提交,两个提交请求之间的持续时间可能会改变(甚至可能是几个小时)。但不是民意调查。

我仍然收到此错误“协调员不知道该成员。” 有消息

org.apache.kafka.clients.consumer.CommitFailedException:提交无法完成,因为组已经重新平衡并将分区分配给另一个成员。这意味着后续调用 poll() 之间的时间比配置的 max.poll.interval.ms 长,这通常意味着 poll 循环花费了太多时间处理消息。您可以通过增加会话超时或使用 max.poll.records 减少 poll() 中返回的批次的最大大小来解决此问题。

导致此错误的原因可能是什么。我已经到处搜索,但在我的问题背景下找不到任何信息。

“max.poll.interval.ms”和会话超时都是默认值。

从日志中我可以看到上次成功提交是在“11:20:11.677”,失败提交是在“11:20:35.742”,仅相隔 24 秒。

它的应用程序进程有自己的组ID。我可以确认没有其他进程以相同的组 ID 运行。

这是来自调试日志:

2018-11-17 17:03:39.227 - 调试 OakcciAbstractCoordinator 尝试检测信号失败,因为成员 ID Consumer-1-e237c8ed-fed7-4687-be4d-99e333e48af3 无效。

2018-11-17 17:03:39.227 - 调试 OakcciAbstractCoordinator 禁用心跳线程 2018-11-17 17:08:09.241 - 调试 o.apache.kafka.clients.NetworkClient 发送元数据请求(type=MetadataRequest,topics=)到节点10.0.10.220:9092(id:1机架:空)

2018-11-17 17:08:09.241 - 调试 org.apache.kafka.clients.Metadata - 将集群元数据版本 505 更新为 Cluster(id = 5zFDtyruTP-cIctUkxG0Pg,节点 = [10.0.10.222:9092 (id: 3 机架: null), 10.0.10.220:9092 (id: 1 机架: null), 10.0.10.221:9092 (id: 2 机架: null)], 分区 = [])

2018-11-17 17:12:09.472 - 调试 o.apache.kafka.clients.NetworkClient 节点 3 已断开连接。

2018-11-17 17:12:09.472 - 调试 o.apache.kafka.clients.NetworkClient 发送元数据请求(type=MetadataRequest,topics=)到节点 10.0.10.220:9092(id:1 机架:null)

2018-11-17 17:12:09.472 - 调试 org.apache.kafka.clients.Metadata - 将集群元数据版本 506 更新为 Cluster(id = 5zFDtyruTP-cIctUkxG0Pg,节点 = [10.0.10.222:9092 (id: 3 机架:空),10.0.10.221:9092(id:2机架:空),10.0.10.220:9092(id:1机架:空)],分区= [])

2018-11-17 17:17:09.502 - DEBUG o.apache.kafka.clients.NetworkClient 初始化与节点 10.0.10.222:9092 (id: 3rack: null) 的连接以发送元数据请求

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 启动与节点 10.0.10.221:9092 的连接(id:2 机架:null)

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 发送元数据请求(类型 = MetadataRequest,主题 =)到节点 10.0.10.220:9092 (id:1 机架:null)

2018-11-17 17:17:09.503 - 调试 Oakafka.common.network.Selector 创建了 SO_RCVBUF = 32768、SO_SNDBUF = 131072、SO_TIMEOUT = 0 到节点 2 的套接字

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 已完成与节点 2 的连接。正在获取 API 版本。

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 启动从节点 2 获取的 API 版本。

2018-11-17 17:17:09.503 - 调试 org.apache.kafka.clients.Metadata - 将集群元数据版本 507 更新为 Cluster(id = 5zFDtyruTP-cIctUkxG0Pg,节点 = [10.0.10.220:9092 (id: 1 机架:空),10.0.10.221:9092(id:2机架:空),10.0.10.222:9092(id:3机架:空)],分区= [])

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 节点 3 的记录 API 版本:(Produce(0): 0 到 5 [可用: 5], Fetch(1): 0 到7 [可用:7]、ListOffsets(2):0 到 2 [可用:2]、元数据(3):0 到 5 [可用:5]、LeaderAndIsr(4):0 到 1 [可用:1]、StopReplica (5): 0 [可用: 0], UpdateMetadata(6): 0 到 4 [可用: 4], ControlledShutdown(7): 0 到 1 [可用: 1], OffsetCommit(8): 0 到 3 [可用: 3]、OffsetFetch(9):0 到 3 [可用:3]、FindCoordinator(10):0 到 1 [可用:1]、JoinGroup(11):0 到 2 [可用:2]、Heartbeat(12): 0 到 1 [可用:1]、LeaveGroup(13):0 到 1 [可用:1]、SyncGroup(14):0 到 1 [可用:1]、DescribeGroups(15):0 到 1 [可用:1] 、ListGroups(16):0 到 1 [可用:1]、SaslHandshake(17):0 到 1 [可用:1]、ApiVersions(18):0 到 1 [可用:1]、CreateTopics(19):0 到2 [可用:2]、DeleteTopics(20):0 到 1 [可用:1]、DeleteRecords(21):0 [可用:0]、InitProducerId(22):0 [可用:0]、OffsetForLeaderEpoch(23): 0 [可用: 0]、AddPartitionsToTxn(24): 0 [可用: 0]、AddOffsetsToTxn(25): 0 [可用: 0]、EndTxn(26): 0 [可用: 0]、WriteTxnMarkers(27): 0 [可用: 0]、TxnOffsetCommit(28): 0 [可用: 0]、DescribeAcls(29): 0 [可用: 0]、CreateAcls(30): 0 [可用: 0]、DeleteAcls(31): 0 [可用: 0]、DescribeConfigs(32): 0 到 1 [可用: 1]、AlterConfigs(33): 0 [可用: 0]、AlterReplicaLogDirs(34): 0 [可用: 0]、DescribeLogDirs(35): 0 [可用: 0]、SaslAuthenticate(36): 0 [可用: 0]、CreatePartitions(37): 0 [可用: 0]、CreateDelegationToken(38): 0 [可用: 0]、RenewDelegationToken(39): 0 [可用: 0] 、ExpireDelegationToken(40): 0 [可用: 0]、DescribeDelegationToken(41): 0 [可用: 0]、DeleteGroups(42): 0 [可用: 0])

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 已完成与节点 2 的连接。正在获取 API 版本。

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 启动从节点 2 获取的 API 版本。

2018-11-17 17:17:09.503 - 调试 org.apache.kafka.clients.Metadata - 将集群元数据版本 507 更新为 Cluster(id = 5zFDtyruTP-cIctUkxG0Pg,节点 = [10.0.10.220:9092 (id: 1 机架:空),10.0.10.221:9092(id:2机架:空),10.0.10.222:9092(id:3机架:空)],分区= [])

2018-11-17 17:17:09.503 - 调试 o.apache.kafka.clients.NetworkClient 节点 3 的记录 API 版本:(Produce(0): 0 到 5 [可用: 5], Fetch(1): 0 到7 [可用:7]、ListOffsets(2):0 到 2 [可用:2]、元数据(3):0 到 5 [可用:5]、LeaderAndIsr(4):0 到 1 [可用:1]、StopReplica (5): 0 [可用: 0], UpdateMetadata(6): 0 到 4 [可用: 4], ControlledShutdown(7): 0 到 1 [可用: 1], OffsetCommit(8): 0 到 3 [可用: 3]、OffsetFetch(9):0 到 3 [可用:3]、FindCoordinator(10):0 到 1 [可用:1]、JoinGroup(11):0 到 2 [可用:2]、Heartbeat(12): 0 到 1 [可用:1]、LeaveGroup(13):0 到 1 [可用:1]、SyncGroup(14):0 到 1 [可用:1]、DescribeGroups(15):0 到 1 [可用:1] 、ListGroups(16):0 到 1 [可用:1]、SaslHandshake(17):0 到 1 [可用:1]、ApiVersions(18):0 到 1 [可用:1]、CreateTopics(19):0 到2 [可用:2]、DeleteTopics(20):0 到 1 [可用:1]、DeleteRecords(21):0 [可用:0]、InitProducerId(22):0 [可用:0]、OffsetForLeaderEpoch(23): 0 [可用: 0]、AddPartitionsToTxn(24): 0 [可用: 0]、AddOffsetsToTxn(25): 0 [可用: 0]、EndTxn(26): 0 [可用: 0]、WriteTxnMarkers(27): 0 [可用: 0]、TxnOffsetCommit(28): 0 [可用: 0]、DescribeAcls(29): 0 [可用: 0]、CreateAcls(30): 0 [可用: 0]、DeleteAcls(31): 0 [可用: 0]、DescribeConfigs(32): 0 到 1 [可用: 1]、AlterConfigs(33): 0 [可用: 0]、AlterReplicaLogDirs(34): 0 [可用: 0]、DescribeLogDirs(35): 0 [可用: 0]、SaslAuthenticate(36): 0 [可用: 0]、CreatePartitions(37): 0 [可用: 0]、CreateDelegationToken(38): 0 [可用: 0]、RenewDelegationToken(39): 0 [可用: 0] 、ExpireDelegationToken(40): 0 [可用: 0]、DescribeDelegationToken(41): 0 [可用: 0]、DeleteGroups(42): 0 [可用: 0]) 2018-11-17 17:17:09.503 - 调试 o .apache.kafka.clients.NetworkClient 记录节点 2 的 API 版本:(Produce(0): 0 到 5 [可用: 5], Fetch(1): 0 到 7 [可用: 7], ListOffsets(2): 0到 2 [可用:2]、元数据(3):0 到 5 [可用:5]、LeaderAndIsr(4):0 到 1 [可用:1]、StopReplica(5):0 [可用:0]、UpdateMetadata( 6): 0 到 4 [可用: 4], ControlledShutdown(7): 0 到 1 [可用: 1], OffsetCommit(8): 0 到 3 [可用: 3], OffsetFetch(9): 0 到 3 [可用: 3]、FindCoordinator(10): 0 到 1 [可用: 1]、JoinGroup(11): 0 到 2 [可用: 2]、Heartbeat(12): 0 到 1 [可用: 1]、LeaveGroup(13) :0 到 1 [可用:1]、SyncGroup(14):0 到 1 [可用:1]、DescribeGroups(15):0 到 1 [可用:1]、ListGroups(16):0 到 1 [可用:1 ]、SaslHandshake(17):0 到 1 [可用:1]、ApiVersions(18):0 到 1 [可用:1]、CreateTopics(19):0 到 2 [可用:2]、DeleteTopics(20):0到 1 [可用:1]、DeleteRecords(21):0 [可用:0]、InitProducerId(22):0 [可用:0]、OffsetForLeaderEpoch(23):0 [可用:0]、AddPartitionsToTxn(24):0 [可用: 0], AddOffsetsToTxn(25): 0 [可用: 0], EndTxn(26): 0 [可用: 0], WriteTxnMarkers(27): 0 [可用: 0], TxnOffsetCommit(28): 0 [可用: 0]、DescribeAcls(29): 0 [可用: 0]、CreateAcls(30): 0 [可用: 0]、DeleteAcls(31): 0 [可用: 0]、DescribeConfigs(32): 0 到 1 [可用: 1], AlterConfigs(33): 0 [可用: 0],AlterReplicaLogDirs(34): 0 [可用: 0]、DescribeLogDirs(35): 0 [可用: 0]、SaslAuthenticate(36): 0 [可用: 0]、CreatePartitions(37): 0 [可用: 0]、CreateDelegationToken( 38):0 [可用:0],RenewDelegationToken(39):0 [可用:0],ExpireDelegationToken(40):0 [可用:0],DescribeDelegationToken(41):0 [可用:0],DeleteGroups(42) : 0 [可用: 0])

我在调试中看到成员 ID 不是唯一消息,并且 kafka 消费者客户端不断重试连接。