2016-08-09 2 views
0

私はApache-Samzaのプロジェクトを持っており、重複したデータに問題があります。task.commit.msを1msごとに設定できますか?

これは私のチェックポイントの設定です:私たちは、これを読むことができますマニュアルの

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=20000を250msまたは1msに変更できます。それは良いまたは非常に悪いですか?私は非常に良いクラスターを持っています。

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


ドキュメントの参照:

Appache-Samza

Apache-Samza-Configuration

+0

なぜプログラムは毎週1~3回クラッシュするのですか?そのコンピュータの周りに鉛を入れてください –

+0

私は問題を知っていますが、それは重要ではありません。 – MaximeF

+0

https://xkcd.com/1495/密接に関連しています –

答えて

0

私のソリューション私はそれがすべての問題の解決策ではないことを知っています。 task.commit.mstask.shutdown.ms=5000と同じものに変更しています。

Atlas-Samza-Configuration Shutdown

+0

今日私はtask.commit.ms = 5000を3000に変更しました。 – MaximeF

関連する問題