Kafka 疑問之offset位移

2021-09-25 14:43:52 字數 464 閱讀 5543

1. offset位移

不要搞混,offset位移會存放在2個地方: __consumer_offsets分割槽位移主題中,和consumer端。

__consumer_offsets中

consumer group將位移資料儲存在broker partition端的內部主題中,

consumer.poll時,拉取訊息前會把位移資料作為普通的kafka訊息,提交到位移主題(__consumer_offsets)中,

__consumer_offsets的主要作用就是:儲存kafka消費者的位移資訊

consumer端

每個consumer都會為它消費的分割槽維護屬於自己的位置資訊,記錄當前消費到該patition的哪個位置。在consumer.commit時提交的(自動或者手動commit),記錄了consumer要消費的下一條訊息的位移

kafka系列 高階篇之訊息和offset儲存

kafka具有儲存功能,預設儲存資料時間為7天或者大小1g,也就是說kafka broker上的資料超7天或者1g,就會被清理掉。這些資料存放在broker伺服器上,以log檔案的形式存在。我新增了乙個topic名字為demo1。為了方便觀察,它只有乙個分割槽,乙個副本。通過producer推送了1...

kafka控制offset偏移量

通過kafkaconsumer.seek 來控制offset.注意如果設定了手動提交需要 commitasync 否則不生效。使用場景 1.消費拋異常 offset 1跳過 2.重新消費前面的資料 訊息寫入hbase失敗 重寫 try if consumerrecords.isempty catch...

Kafka如何管理自身的offset

早在 0.8.2.2 版本,kafka已支援存入消費的 offset 到topic中,只是那時候預設是將消費的 offset 存放在 zookeeper 集群中。現在0.10.1.1及以後的版本中,官方預設將消費的offset儲存在 kafka 的topic中 同時,也保留了儲存在 zookeepe...