私たちのテストクラスタのFlinkでApache Beamパイプラインを実行しようとしています。シリアライズによるオブジェクトのエンコーディング中にがorg.apache.flink.runtime.io.disk.SimpleCollectingOutputView:79
で失敗しました。私はまだローカルでエラーを再現することができませんでした。 the entire job log hereが見つかります。いくつかの値は偽のデータに置き換えられました。FlinkのBeamパイプライン実行中のメモリセグメントに関連するEOFException
パイプラインを実行するために使用するコマンド:
bin/flink run \
-m yarn-cluster \
--yarncontainer 1 \
--yarnslots 4 \
--yarnjobManagerMemory 2000 \
--yarntaskManagerMemory 2000 \
--yarnname "EBI" \
pipeline.jar \
--runner=FlinkRunner \
--zookeeperQuorum=hdp-master-001.fake.org:2181
私はそれが関連していないと思うが、オブジェクトツーことシリアライズがserialisableで、暗黙的および明示的なコーダが、このdoesnの両方を持っていました状況に影響を与えません。
このような状況を引き起こしている可能性がありますが、それに対処するために何ができますか?今の
、どこかの間に4と8GiBにマネージャーのヒープメモリを増やすと、例外を防ぐように思われます。これが通常のFlinkの動作であると想定されているかどうかはまだ分かりません(ディスクにこぼれないでください)。規模を拡大する解決策のようには見えません。
この問題はBeamチームに報告されており、ソリューションは将来のリリースで提供される可能性があります。進捗状況を確認するには、https://issues.apache.org/jira/browse/BEAM-2831に登録してください。 –