Spark on Yarn的运行流程,以及两种模式的对比
Yarn组件简介
- ResourceManager:负责整个集群的资源管理和资源分配
- NodeManager:每个节点的资源和任务的管理器,负责启动和停止Container,并监视资源使用情况
- ApplicationMaster:Yarn中每个Application对应一个AM进程,获取资源后告诉NodeManager为其分配并启动Container
- Container:Yarn中的抽象资源
Spark组件
Spark中的组件就不介绍了如果不了解可以参考spark运行原理及各个组件
SPARK ON YARN
- yarn-cluster模式
- 在RM接受到申请后在集群中选择一个NM分配Container,并在Container中启动ApplicationMaster进程
- 在ApplicationMaster中初始化SparkContext
- ApplicationMaster向RM申请到Container后通知NodeManager在获得的Container中启动Executor进程
- sparkContext分配Task给Executor,Executor发送运行状态给Driver
- yarn-client模式