kafak消费者从头开始消费(消费者组)

本文详细介绍了如何配置Kafka消费者从头开始消费消息。关键在于设置新的消费者组ID和`auto.offset.reset`为`earliest`。提供了一个Java代码示例,展示如何创建消费者、订阅主题并消费数据,帮助开发者理解这一过程。
摘要由CSDN通过智能技术生成

【README】

本文主要用于描述 kafka 消费者如何从头开始消费;


【1】从头开始消费

1)从头开始消费,需要满足两个条件, 如下:

  • 条件1, 使用一个全新的消费者组id;
  • 条件2,指定 auto.offset.reset 为 earliest ;

2)代码如下:

public static void main(String[] args) {
		/* 1.创建消费者配置信息 */
		Properties props = new Properties();
		/*2.给配置信息赋值*/
		/*2.1连接的集群*/
		props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "centos201:9092");
		/*2.2开启自动提交 */
		props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, true);
		/*2.3 自动提交的延时*/
		props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
		/*2.4 key value的反序列化 */
		props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
		props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
		/*2.5 消费者组 */
		props.put(ConsumerConfig.GROUP_ID_CONFIG, "sichuan2"); // group.id 
		/*2.6 重置消费者的offset */ 
		props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); // 默认值是 lastest 
		
		/* 创建消费者 */
		KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props); 
		/* 订阅主题 */
		consumer.subscribe(Arrays.asList("third", "second"));
		/* 循环拉取 */ 
		int i =0;
		while(true) {
			if (i++ > 10) break; // 只消费10条数据 
			/* 消费消息-获取数据 */
			ConsumerRecords<String, String> consumerRds  = consumer.poll(100);
			/* 解析并打印 ConsumerRecords  */
			/* 遍历 ConsumerRecords*/
			for(ConsumerRecord<String, String> rd : consumerRds) {
				System.out.println("[消费者] " + rd.key() + "--" + rd.value()); 
			}
		} 
		/* 关闭消费者 */ 
		consumer.close(); 
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值