报错情景:
由flume监听文件,分类发送到kafka的两个topic,再由两个flume(f1,f2)监听这两个topic,但是报错:

原因:
f1,f2监听kafak时,因为没有配置group.id,则f1,f2默认groupId都是"flume"
,f1,f2属于同一个消费者组(consumerGroup),同一个CG中如果订阅不同的topic,每一个consumer的上下线都会造成剩余所有的 consumer 产生 reblance 行为。
解决办法:
为两个flume配置不同的group.id即可:
a3.sources.s1.type=org.apache.flume.source.kafka.KafkaSource
a3.sources.s1.kafka.bootstrap.servers=h1:9092
a3.sources.s1.kafka.topics=topic_event
a3.sources.s1.kafka.consumer.group.id=group_event
a2.sources.s1.type=org.apache.flume.source.kafka.KafkaSource
a2.sources.s1.kafka.bootstrap.servers=h1:9092
a2.sources.s1.kafka.topics=topic_start
a2.sources.s1.kafka.consumer.group.id=group_start
本文探讨了Flume监听Kafka时因未配置group.id导致的消费者组冲突问题。当多个Flume实例监听同一Kafka集群的不同topic时,若group.id相同,则会触发不必要的reblance行为,影响数据处理效率。文中详细介绍了如何通过设置不同的group.id来避免这一问题,确保数据流稳定传输。
2万+

被折叠的 条评论
为什么被折叠?



