kafka offset 设置

Posted Go_Forward

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka offset 设置相关的知识,希望对你有一定的参考价值。

http://stackoverflow.com/questions/36579815/kafka-python-how-do-i-commit-a-partition
from kafka import KafkaConsumer
from kafka import TopicPartition from kafka.structs import OffsetAndMetadata ... topic = ‘your_topic‘ partition = 0 tp = TopicPartition(topic,partition) kafkaConsumer = KafkaConsumer(config here...) kafkaConsumer.assign([tp]) offset = 15394125 kafkaConsumer.commit({ tp: OffsetAndMetadata(offset, None) })



meta = consumer.partitions_for_topic(topic)
options = {}
options[partition] = OffsetAndMetadata(message.offset, meta)
consumer.commit(options)

如果consumer.commit()不可以,可以使用seek(),使用seek(),如果有多个partition,需要为每个partition都手动进行consumer assign.
topic_partition = TopicPartition("TOPIC_TEST", 1)
# 格式为topic, partition, 1表示partition 1.
consumer.assign([topic_partition])

consumer.seek(topic_partition, 1660000)
同样的代码,有些用commit可以,有些不可以,用seek()就可以。
 

以上是关于kafka offset 设置的主要内容,如果未能解决你的问题,请参考以下文章

Kafka相关的offset管理/重平衡/高可用

Kafka的消息格式及offset是如何设置的

关于怎么获取kafka指定位置offset消息

kafka offset的存储

kafka重新设置group的offset

kafka重置到最新offset偏移量