I am facing a problem while using consumer.poll() method .After fetching data by using poll() method consumer won't have any data to commit so Please help me to remove specific number of lines from the kafka topic .
1 に答える
0
コンシューマに障害が発生した場合の「データ損失」を回避するために、コミットする前にデータが完全に処理されていることを確認する必要があります。
したがって、 を有効にする場合は、次を発行する前にの後にすべてauto.commit
のデータを完全に処理するようにしてください。poll()
poll()
poll()
poll()
これが不可能な場合は、 をauto.commit
介してデータが完全に処理された後で、手動で無効にしてコミットする必要がありますconsumer.commit(...)
。このため、各メッセージを個別にコミットする必要はなく、オフセットを指定してコミットすると、オフセットを指定しX
てすべてのメッセージが暗黙的にコミットされることに注意してください< X
(たとえば、オフセット 5 のメッセージを処理した後、オフセット 6 をコミットします。コミットされたオフセットはそうではありません)。最後に正常に処理されたメッセージですが、次に処理するメッセージ)。オフセット 6 のコミットは、オフセット 0 から 5 のすべてのメッセージをコミットします。したがって、オフセットが小さいすべてのメッセージが完全に処理される前に、オフセット 6 をコミットしないでください。
于 2016-11-22T08:33:50.937 に答える