Spark与MapReduce的Driver在YARN上的运行位置:MapReduce Driver运行在哪?
MapReduce Driver程序的运行位置
MapReduce的Driver运行位置需要结合版本区分:
MRv1(传统MapReduce)
- 你编写的带
main方法、负责提交MapReduce作业的Driver程序,运行在客户端机器上。它会完成作业配置、资源准备等工作,向集群的JobTracker提交作业后,会持续与JobTracker通信获取任务执行状态,直到作业完成。
MRv2(基于YARN的MapReduce)
- 本地编写的入口Driver程序(带
main方法)依然在客户端运行,负责初始化作业配置并提交给YARN的ResourceManager。 - 作业的核心调度、资源申请、任务监控等逻辑,由集群随机节点上的ApplicationMaster承担——这部分功能类似Spark Driver中的作业调度模块,但在MapReduce里是独立的集群进程。
和Spark YARN模式的对比
- 这种模式和Spark的
yarn-client逻辑类似:Spark的Driver在客户端,ApplicationMaster在集群;MapReduce的提交Driver在本地,集群的ApplicationMaster负责作业协调。 - 注意:MapReduce没有类似Spark
yarn-cluster的模式,无法将提交作业的Driver程序放到集群节点运行,它始终在客户端执行。
内容的提问来源于stack exchange,提问作者Youssef Alaa Etman
相关产品推荐
相关产品推荐

