2016-10-19 12 views
1

が私の理解は、私はこれらの2つのプロパティを設定した場合、その後、私の消費者の打ち上げに私はいつも早いオフセットから消費されるということだったのconfigsオフセット早いから消費カフカ0.9:カフカはカフカの消費者の私の読書から

enable.auto.commit = false 
auto.offset.reset = earliest 

これは最初のアプリケーションを起動するときに機能しますが、次回起動時には最初から消費されません

代わりに、group.idを新しいものに変更してから再開します最も早いオフセット。

他のコミットが行われている可能性はありますか?

更新

これは私が使用していキャメルカフカのコンポーネントに問題があるように私には見えます。 org.apache.camel.component.kafka.KafkaConsumerクラスは、自動有効コミットするたびに、それはオフセットをコミットします偽であるように、これは見えます私の読書によって、このロジック

if (endpoint.isAutoCommitEnable() != null && !endpoint.isAutoCommitEnable()) { 
    if (processed >= endpoint.getBatchSize()) { 
     consumer.commitSync(); 
     processed = 0; 
    } 
} 

を持っています。 これはCamel Kafkaコンポーネントの機能で、自動コミットが有効になっていてもx個のメッセージの後で同期されます。

+0

右、あなたはクライアントコードで手動コミットをしない、コンシューマ・グループのコミットは 'binに/ kakfa-消費者groups.sh'を経由してありますされ、念のために? –

+0

私は手動コミットをしません。私の理解は少なくとも正しいですか? – DJ180

答えて

2

ご理解の方が正しいと思います。

Kafka 0.9には、「古い」および「新しい」コンシューマ設定があります。この構成プロパティは、これらの間で変更されました。それは同様にその設定をログに記録する必要があります起動時に

auto.commit.enable = false 
enable.auto.commit = false 

https://kafka.apache.org/documentation#consumerconfigs

ので、そこを確認します。あなたがチェックすることができ

2016-10-06 14:19:41,725 INFO [org.apache.kafka.clients.consumer.ConsumerConfig:165] - ConsumerConfig values: 
    group.id = service 
    bootstrap.servers = [kafka:9092] 
    enable.auto.commit = false 
    auto.offset.reset = latest 
+0

はい、私は確認しました。問題は私が使用しているCamel Kafkaコンポーネントにあると思う。 – DJ180

+0

上記の知見を参照 – DJ180

関連する問題