我有一个火花作业,它读取数据,转换它(随机播放)并将数据写回磁盘。相同火花作业的不同实例用于并行处理单独的数据(每个都有其输入\输出目录)。到目前为止,一些工作,大约200个工作岗位中的3个,在阅读阶段陷入困境。卡住我的意思是在某些点之后没有任务完成,阶段没有进展,UI中没有执行者的新错误日志,一个工作可以运行半小时然后停止并且没有进展。当我重新运行整套工作时,一切都可以很好或者其他一些工作可以再次挂起,这次是其他一些工作(另一个进/出方向)。我们使用spark 1.6.0(CDH_5.8)。我们使用动态分配,这样的工作可以在已经“卡住”之后吃掉更多的资源。知道在这种情况下可以做些什么吗? 我使用这个属性开始工作:
--master yarn-cluster
--driver-memory 8g
--executor-memory 4g
--conf spark.yarn.executor.memoryOverhead=1024
--conf spark.dynamicAllocation.maxExecutors=2200
--conf spark.yarn.maxAppAttempts=2
--conf spark.dynamicAllocation.enabled=true
UPADATE
禁用动态分配似乎解决了这个问题,我们将在几天后尝试运行我们的工作以得出结论是否真的是原因。