YarnClient

YarnCluster

  1. 客户端(Client)通过YARN的ResourceManager提交应用程序。在此过程中,客户端进行权限验证,生成Job ID和资源上传路径,并将这些信息返回给客户端。
  2. 客户端将jar包、配置文件、第三方包等文件上传到指定的HDFS路径。完成后,客户端再次向ResourceManager提交作业执行请求。
  3. ResourceManager收到请求后,将其封装为一个任务,并将其插入Scheduler的任务队列中,等待空闲资源。
  4. 一旦集群中有空闲资源,Scheduler将任务分配给NodeManager,NodeManager创建容器,并启动ApplicationMaster。
  5. ApplicationMaster启动后,从HDFS中拉取jar包,解析数据流(DAG),根据数据流生成阶段(Stage),确定任务的并发度,并向ResourceManager申请资源。
  6. ResourceManager接收到请求后,将任务封装为Task,并将其插入任务队列。
  7. 一旦集群中有空闲资源,ResourceManager将任务分配给NodeManager,NodeManager启动容器,并与ApplicationMaster通信,以在容器中启动Executor进程。
  8. Executor向ApplicationMaster注册,并申请任务。ApplicationMaster对任务进行解析,并将Task发送到Executor上。
  9. Executor执行Task,并将执行结果或状态报告给ApplicationMaster。
  10. 当所有任务执行完毕时,ApplicationMaster通知ResourceManager注销应用,回收资源。至此,整个作业的提交流程结束。

(END)

Spark - spark on yarn 的作业提交流程的更多相关文章

  1. 4 weekend110的YARN的通用性意义 + yarn的job提交流程

    Mr程序写完之后,提交给yarn,yarn会产生一个MRAppMaster,想说的是,yarn变得很 通用,yarn集群上,不光可以跑mr程序,还可以跑各种运算模型. 海量批处理,mapreduce ...

  2. YARN-MapReduce的作业提交流程

    YARN分布式资源管理系统 组成: ResourceManager:YARN的资源管理器,主节点,通过NodeManager管理集群中所有的资源 NodeManager:YARN的节点管理器,从节点, ...

  3. Spark开发环境搭建和作业提交

    Spark高可用集群搭建 在所有节点上下载或上传spark文件,解压缩安装,建立软连接 配置所有节点spark安装目录下的spark-evn.sh文件 配置slaves 配置spark-default ...

  4. YARN作业提交流程剖析

    YARN(MapReduce2) Yet Another Resource Negotiator / YARN Application Resource Negotiator对于节点数超出4000的大 ...

  5. Spark运行架构及作业提交流程

    1.yarn-cluster模式: (1)client客户端提交spark Application应用程序到yarn集群. (2)ResourceManager收到了请求后,在集群中选择一个NodeM ...

  6. spark 选择不同yarn集群提交任务

    修改环境变量中的HADOOP_CONF_DIR,可以配置多份配置文件.根据不同路径下yarn集群配置访问不同集群. 所使用的用户需要在yarn每个节点都存在且有对应的访问权限.

  7. YARN的job提交流程

    1.客户端向ResourceManagement 提交 运行的请求 (hadoop jar xxxx.jar) 2.ResourceManager进行检查,没有问题的时候,向客户端返回一个共享资源的路 ...

  8. Spark:三种任务提交流程standalone、yarn-cluster、yarn-client

    spark的runtime参考:Spark:Yarn-cluster和Yarn-client区别与联系浪尖分享资料 standalone Spark可以通过部署与Yarn的架构类似的框架来提供自己的集 ...

  9. Hadoop2.x Yarn作业提交(客户端)

    转自:http://blog.csdn.net/lihm0_1/article/details/22186833 YARN作业提交的客户端仍然使用RunJar类,和MR1一样,可参考 http://b ...

  10. hadoop2.7之作业提交详解(上)

    根据wordcount进行分析: import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; impo ...

随机推荐

  1. 埃尼阿克ENIAC与计算机发展,及信息技术发展史

    一.埃尼阿克ENIAC 第二次世界大战期间,国军方为了研发新型的大炮和导弹,设立了"弹道研究实验室".实验室为了计算炮弹弹道,用了200多人加班加点进行计算,速度依感无法达到军方要 ...

  2. Flutter枚举

    Flutter枚举 Enum Extension 在Dart2.7版本,Dart新增了扩展函数,使枚举相关的代码定义.调用更加简洁 通过扩展枚举定义方法 定义一个元素枚举 enum Element { ...

  3. M1芯片pod问题

    M1芯片pod问题 换了M1芯片的mac后,在Xcode跑项目报pod错误,提示run pod install更新pod,但是去终端跑命令时又报错 然后在github上看到一个老哥的方法 https: ...

  4. 动态 import()

    动态 import() https://v8.dev/features/dynamic-import Dynamic import() 引入了一个新的类似函数的功能,相比静态的 import 提供了新 ...

  5. 使用 VS Code 徒手构建 PDF 文件

    使用 VS Code 徒手构建 PDF 文件 PDF 文件是广泛应用的页面描述文件格式,从本质上讲,文件内部的结构混合使用了文本格式描述和二进制格式描述,对于简单的文件,比如说我们今天要创建的第一个 ...

  6. 技术实践|Hive数据迁移干货分享

    导语 Hive是基于Hadoop构建的一套数据仓库分析系统,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能.它的优点是可以通过类SQL语句快速实现简单的MapReduce统计,不 ...

  7. 【C#】【平时作业】习题-9-接口

    1.什么是接口 为派生类提供因该遵守的标准结构,而本身只包含成员声明,不包含成员的定义 2.接口与抽象类有什么区别 3.设计IBluetooth. public interface IBluetoot ...

  8. Nginx漏洞修复:SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱

    SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱[原理扫描]. 需编辑 nginx.conf 解决. 1.生成 dhparams.pem. cd /usr/local/nginx ...

  9. Spring boot 配置文件位置

    Spring boot 的Application.properties 配置文件可以是以下几个地方:classpath:/,classpath:/config/,file:./,file:./conf ...

  10. Windows 配置自动更新重启策略

    I. 打开策略编辑器 [Win + R]打开 "运行" 窗口,输入: gpedit.msc 打开"本地组策略编辑器". II. 设置不自动重启 启用策略,选择在 ...