zoukankan      html  css  js  c++  java
  • spark任务提交

    转载:https://jishuin.proginn.com/p/763bfbd3ad3d

    前面我们讲过 9张图详解Yarn的工作机制,惊艳阿里面试官,今天就来讲讲提交 Spark 作业的流程。

    Spark 有多种部署模式,Standalone、Apache Mesos、Kubernetes、Yarn,但大多数生产环境下,Spark 是与 Yarn 一起使用的,所以今天就讲讲 yarn-cluster 模式。

    当然我也见过不带 Hadoop 环境,使用 Standalone 模式的。比如在云上,Hadoop 一般会使用对应的服务,比如 AWS 的 EMR,一方面是费用较高,另一方面是较为笨重,没那么灵活。用 Standalone 模式只需要起几台机器,安装好 Spark 就可以了。

    目前大多数还是本地环境,相信学会了 yarn-cluster 模式,其他的你也都会了。

    这是以 yarn-cluster 模式提交一个 Spark 任务最简单的命令,计算 Pi(π) 的值

    通过 --master 参数以及 --deploy-mode 指定为 yarn-cluster 模式,Driver 将运行在 Yarn 中。

    下面则是提交 Spark 作业的流程。

     

    第 1 步:Client 提交 Application 到 ResourceManager。

     

    第 2 步:ResourceManager 分配 container,在对应的 NodeManager 上启动 ApplicationMaster,ApplicationMaster 会再启动 Driver。

     

    第 3 步:Driver 向 ResourceManager 申请 Executor。

     

    第 4 步:ResourceManager 返回 Container 给 Driver。

     

    第 5 步:Driver 在对应的 Container 上启动 Executor。

     

    第 6 步:Executor 向 Driver 反向注册。

     

    第 7 步:Executor 全部注册完,Driver 开始执行 main 函数。

    第 8 步:Driver 执行函数时,遇到 action 算子就会触发一个 job,根据宽依赖划分 stage,每个 stage 生成 taskSet,将 task 分发到 Executor 上执行。

    第 9 步:Executor 会不断与 Driver 通信,报告任务运行的情况。

  • 相关阅读:
    《剑指offer》— JavaScript(1)二维数组中的查找
    《JavaScript高级程序设计(第三版)》-3
    HTML+CSS基础
    HTML5新增属性
    《javascript高级程序设计(第3版)》-1
    wp8.1 Study7: ListView 和GridView应用
    wp8.1 Study6: App的生命周期管理
    WP8.1 Study5:Data binding数据绑定
    WP8.1 Study4:WP8.1中控件集合应用
    WP8.1 Study3:WP8.1中Animation应用
  • 原文地址:https://www.cnblogs.com/to-here/p/14751771.html
Copyright © 2011-2022 走看看