0

Apache-Samza を使用したプロジェクトがあり、データの重複に問題があります。

これは私のチェックポイント構成です:

task.checkpoint.factory=org.apache.samza.checkpoint.kafka.KafkaCheckpointManagerFactory
task.checkpoint.system=kafka
task.checkpoint.replication.factor=2
task.commit.ms=20000

ドキュメントでは、これを読むことができます:

task.checkpoint.factory が設定されている場合、このプロパティはチェックポイントが書き込まれる頻度を決定します。値は、ミリ秒単位のチェックポイント間の時間です。チェックポイントの頻度は、障害回復に影響します。コンテナが予期せず (クラッシュやマシンの障害などにより) 失敗し、再起動された場合、最後のチェックポイントで処理を再開します。失敗したコンテナーの最後のチェックポイント以降に処理されたメッセージは、再度処理されます。チェックポイントをより頻繁に設定すると、2 回処理される可能性のあるメッセージの数が減りますが、より多くのリソースが使用されます。

task.commit.ms=20000250ms または 1msに変更できますか。それは良いですか、それとも非常に悪いですか?私は非常に良いクラスターを持っています。

この Samza (ワーカー) は毎週 1 ~ 3 回クラッシュするため、これを変更する必要があるのはなぜですか。そして今、一時的な解決策は毎回オフセットをコミットすることです。


ドキュメント参照:

アパッチ・サムザ

Apache-Samza-構成

4

1 に答える 1

0

私の解決策は、それがすべての問題の解決策ではないことを知っています。task.commit.msの同じものに変更ですtask.shutdown.ms=5000

Atlas-Samza-Configuration シャットダウン

于 2016-08-09T19:48:40.820 に答える