2016-09-28 70 views
0

我想使用FlinkKafkaConsumer08來讀取一個kafka主題。消息是事件採購方面的命令。我想從最後開始,而不是閱讀主題中已有的消息。 我想有一種方法可以告訴FlinkKafkaConsumer08從最後開始。 如何?FlinkKafkaConsumer08偏移控制

編輯

我已經嘗試設置「auto.offset.reset」屬性設置爲「最大」沒有結果。我也試過enableCheckpoing。

我曾嘗試將「auto.commit.interval.ms」設置爲1000.然後,至少,以前處理過的消息不會再次處理。這是一個很大的改進,因爲至少命令不會執行兩次,但放棄舊命令消息會好得多。我將採用的解決方案是根據日期丟棄舊消息,並返回錯誤。

回答

2

auto.offset.reset屬性僅在Kafka無法在當前使用者組的Kafka/ZooKeeper中找到承諾的偏移量時使用。因此,如果您正在重複使用某個消費羣,則該屬性很可能不會受到尊重。然而,在一個新的消費羣體中開始卡夫卡消費者應該有所斬獲。

+0

感謝您的建議!當然這對其他人有用。每次開始一個新的kafka group.id都不符合我的需求。爲了讓命令執行一次,我使用group.id從閱讀命令中排除其他應用程序。 – user2108278

+0

但這就是卡夫卡的工作原理。 –