我试图在我们的测试集群上的Flink上运行Apache Beam管道。在通过序列化对对象进行编码期间,EOFException
在org.apache.flink.runtime.io.disk.SimpleCollectingOutputView:79
处失败。我还没有能够在本地重现错误。你可以找到the entire job log here。一些值已被假数据取代。Flink上Beam管道运行期间与内存段相关的EOFException
用于运行管道命令:虽然我认为这是没有关系的,对象要被序列化是serialisable,并曾都隐式和显式编码器,但是这并未
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
不会影响情况。
什么可能导致这种情况,我能做些什么来解决它?
现在,增加了管理的堆内存介于4和8GiB似乎防止异常。仍然不确定这是否应该是正常的Flink行为(不应该溢出到磁盘?)。看起来不像是可以扩展的解决方案。
已向Beam团队报告此问题,并可能在未来版本中提供解决方案。要跟踪这方面的进展,请订阅https://issues.apache.org/jira/browse/BEAM-2831 –