apache-spark - Spark 的哪一部分将失败的任务返回到不同的节点?
问题描述
当某个节点上运行的任务失败时,Spark 会自动将该任务返回到不同的节点。我的问题是:
- Spark 的哪个部分对此负责?是ApplicationMaster、驱动程序还是ResourceManager?
- 恢复失败任务的过程是什么?
解决方案
当事情发生后火花任务失败时
- 该机器上的节点管理器尝试在同一台机器上重新运行该任务,并通知 APPLICATION MASTER。
- 基于推测执行,应用程序主机可能决定在另一台机器上运行重复任务。资源管理器不重启任务
- 任务从头开始重新启动。由于该任务处理的所有分区都在之前发生的故障中丢失。这就是 spark RDD lineage 出现的地方。spark 采用 spark lineage 并尝试重新创建因任务失败而丢失的分区。
推荐阅读
- sql-server - “使用'BCP(批量复制程序)/批量插入'我们可以将数据从一个服务器1数据库发送到另一个服务器2数据库......吗?”
- c# - 在没有“网络使用”的情况下映射网络驱动器,并以安全的方式提供凭据
- c - 使用不同的分隔符 C 代码将令牌拆分两次
- php - 无法使用 xpath 获取整个单词
- javascript - 如何获取数据数组中选项中的所有选定值并将其导出到excel
- sql - 无法连接到网络外的 SQL Server
- java - 在线程中使用 Lambda
- python - 无法在谷歌 AI 平台上运行训练作业
- javascript - 在带有传播的地图中使用承诺
- reporting-services - 在单个 ssrs 页面中的 X 条记录后换行