spark的yarn-client提交流程 1. 在client端启动Driver进程,初始化作业,解析程序,初始化两个DAGScheduler,TaskScheduler. -- 初始化作业: 判断路径是否存在,权限校验等 -- DAGScheduler将程序的执行流程解析成DAG图,并划分阶段,根据阶段内的分区初始化Task -- TaskScheduler接收Task,等待分配Task给executor 2. Driver会向ResourceManager,申请资源,想要启动该应用程序的AppMaster 3. ResourceManager会分配一个节点,来运行AppMaster,由NodeManager负责真正分配资源运行AppMaster 4. AppMaster会向ResourceManager申请整个程序所需要的其他资源,准备运行executor进程 5. 在各个节点上运行的executor会向Driver进行反向注册,要求分配任务 6. TaskScheduler将Task分配到不同的executor,并监控实时状态,executor开始执行任务, 7. TaskScheduler收到executor执行完的信息后,表示整个应用程序完成,会向ResouceManager申请注销 spark的yarn-cluster提交流程 1. client会首先向ResourceManager申请资源,要求启动AppMaster进程 2. ResouceManager会分配一个节点,由NodeManager来运行AppMaster,并在AppMaster所在节点运行Driver进程 Driver进程的作用:,初始化作业,解析程序,初始化两个DAGScheduler,TaskScheduler. -- 初始化作业: 判断路径是否存在,权限校验等 -- DAGScheduler将程序的执行流程解析成DAG图,并划分阶段,根据阶段内的分区初始化Task -- TaskScheduler接收Task,等待分配Task给executor 3. AppMaster会向ResourceManager申请整个程序所需要的其他资源,准备运行executor进程 4. 在各个节点上运行的executor会向Driver进行反向注册,要求分配任务 5. TaskScheduler将Task分配到不同的executor,并监控实时状态,executor开始执行任务, 6. TaskScheduler收到executor执行完的信息后,表示整个应用程序完成,会向ResouceManager申请注销
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)