记一次kakfa consumer join group失败导致OOM处理过程

[] 12-22 15:07:16 [org.springframework.kafka.KafkaListenerEndpointContainer#1-1-C-1] [] INFO o.a.k.c.c.i.AbstractCoordinator - [Consumer clientId=consumer-add.tag-17, groupId=add.tag] Join group failed with org.apache.kafka.common.errors.MemberIdRequiredException: The group member needs to have a valid member id before actually entering a consumer group
[] 12-22 15:07:14 [org.springframework.kafka.KafkaListenerEndpointContainer#5-1-C-1] [] INFO o.a.k.c.c.i.AbstractCoordinator - [Consumer clientId=consumer-group_sensitive_action-11, groupId=group_sensitive_action] (Re-)joining group
[] 12-22 15:40:52 [org.springframework.kafka.KafkaListenerEndpointContainer#2-1-C-1] [] INFO o.a.k.c.c.i.AbstractCoordinator - [Consumer clientId=consumer-agent.push-2, groupId=agent.push] Group coordinator IP:9092 (id: 2147483465 rack: null) is unavailable or invalid, will attempt rediscovery
[] 12-22 15:40:45 [org.springframework.kafka.KafkaListenerEndpointContainer#3-0-C-1] [] INFO o.a.k.c.c.i.AbstractCoordinator - [Consumer clientId=consumer-add.friend-4, groupId=add.friend] Group coordinator IP:9092 (id: 2147483464 rack: null) is unavailable or invalid, will attempt rediscovery
[] 12-22 15:07:06 [org.springframework.kafka.KafkaListenerEndpointContainer#4-2-C-1] [] INFO o.a.k.c.c.i.AbstractCoordinator - [Consumer clientId=consumer-group_wework_chat-9, groupId=group_wework_chat] Discovered group coordinator IP:9092 (id: 2147483463 rack: null)
[] 12-22 15:40:08 [kafka-coordinator-heartbeat-thread | group_wework_chat] [] INFO o.a.k.c.c.i.AbstractCoordinator - [Consumer clientId=consumer-group_wework_chat-8, groupId=group_wework_chat] Group coordinator IP:9092 (id: 2147483463 rack: null) is unavailable or invalid, will attempt rediscovery
[] 12-22 15:35:53 [http-nio-54001-exec-10] [] ERROR o.a.coyote.http11.Http11NioProtocol - Failed to complete processing of a request
java.lang.OutOfMemoryError: Metaspace
[] 12-22 15:35:42 [http-nio-54001-exec-34] [] ERROR o.a.coyote.http11.Http11NioProtocol - Failed to complete processing of a request
java.lang.OutOfMemoryError: Metaspace

原因:由于项目数据量大,使用原来的group id进行消费,新进来的消费端,kafka在进行consumer group 分配时候,由于数据量问题,kafka server端重新分配客户端的consumer offset超时导致无法加入之前的消费组。
解决方案: 新的服务使用新的group id,启动新的消费端,成功消费数据。
我觉得应该是kafka使用新的group if,消费端最后一个位置进行消费,无需参与跟老的group id重新分配的下标进行消费,应该是老的group id数据积压,导致数据量比较大,我使用命令去访问连接zk获取topic消费数据指标,显示超时。

谁有新的想法,留下评论。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以回答这个问题。Kafka Consumer Group 在 Apache Kafka 中是一个消费者集群的概念。一个消费者组由一组消费者组成,这些消费者共同消费一个或多个 Kafka Topic。消费者组中的每个消费者使用自己的线程读取独立的分区,以实现高吞吐量和容错性。 ### 回答2: Kafka消费者组(Consumer Group)是Kafka消息队列中的一个重要概念。Kafka是一个分布式的消息系统,允许多个消费者同时从一个或多个主题(Topic)中消费消息。消费者组是一组消费者的集合,它们共同消费相同主题下的消息。 Kafka消费者组的主要目的是提供负载均衡和水平扩展的能力。当有多个消费者加入到同一个消费者组中时,Kafka会自动将主题中的消息分配给各个消费者,以实现消息的并行消费。每个消费者组内的消费者将会根据所分配到的分区(Partition)进行消息处理。一个分区只能由同一个消费者组内的一个消费者进行消费,这样做的好处是可以保证同一个消息只被消费一次。 消费者组还提供了消费者状态的管理和错误处理的机制。消费者组可以维护每个消费者的消费进度(Offset),这样即使某个消费者出现故障或者新的消费者加入,系统也能够保证消费进度的持续性。此外,当某个消费者发生故障时,Kafka会自动将该消费者的分区重新分配给其他消费者,从而实现故障转移和动态扩展。 总之,Kafka消费者组是一种用于实现负载均衡和提高可用性的机制。通过将多个消费者组织成一个消费者组,可以实现消息的并行处理和高吞吐量的消费。它为消费者状态管理、故障转移和动态扩展提供了便利,是实现可靠、灵活和高效消费的重要手段。 ### 回答3: Kafka消费者组是Kafka中一个重要的概念,用于进行高效的消息消费。消费者组由多个消费者实例组成,这些实例协同工作,同时消费同一个主题的消息。 消费者组的主要作用是实现消息的并行处理。当一个主题有大量的消息需要消费时,单个消费者实例处理效率可能不高,无法满足实时需求。而多个消费者实例组成一个消费者组,可以并行地消费并处理消息,提高整体的处理速度。 对于同一个主题的消息,Kafka会将其分发到不同的消费者实例,每个实例处理一部分消息。这样做的好处是可以将消息负载均衡地分散到不同的消费者实例上,实现并行处理,提高吞吐量。 消费者组还具有消费者动态增加和减少的能力。新的消费者实例加入到消费者组后,它们会被分配到之前已经被分配的分区上,然后开始消费消息。同理,当消费者实例离开消费者组时,它们所处理的分区会被重新分配给其他消费者实例,从而保持整个消费者组的负载均衡。 消费者组还支持消费者实例之间的数据共享。即使每个消费者实例专门消费不同的分区,但它们可以通过共享数据进行协同处理。比如,可以通过共享的状态信息进行去重、统计和聚合等操作。 总之,Kafka消费者组是实现高效消息处理的关键所在,可以实现消息的并行消费、负载均衡和数据共享,提高整个系统的吞吐量和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值