Spark系列——Spark On Yarn 资源申请流程

Spark On Yarn 资源申请流程

  • Client 模式

    1. 因为是Client模式,所以当我们 Spark-Submit 提交Spark任务的时候,
      会直接走到我们的main方法,进行Spark Context 的初始化,
      那么客户端也扮演着 Driver 角色
    2. Spark Context 初始化的时候会生成两个比较重要的对象DAGScheduleTaskSchedule,
      TaskSchedule 会进行任务资源的申请,因为我们这里是用 Yarn 作为资源调度器,
      所以 TaskSchedule 会向 ResourceManager(RM) 进行资源申请。
    3. 接下来就是 Yarn 的资源调度了
    4. Yarn 首先会启动一个 ApplicationMaster(AM) 来管理本次申请,
      所以 Yarn 的第一步是选一台空闲的 NodeManager 启动 AM
    5. AM 启动后,会根据我们提交任务时申请的资源向 RM 进行资源申请用来启动 Container,
      当然这里用来处理的是Spark任务,实际上启动的是 Excutor.
    6. 当我们的Excutor 启动之后,他们会向Driver 端的 TaskSchedule 进行注册。
    7. 这个时候我们的 Spark Context 的初始化基本完成。接下来就是根据我们的代码,
      生产Task 进行任务调度了。

    如果不还是不太清楚各个角色的用途,可以参考下图

    资源调度.png

到这里我们也基本讲明白了 Yarn-Client 模式的资源申请了,
但是说的比较浅,没有涉及到很多细节,
说来也比较惭愧,Spark 的 Standalone 模式源码倒是看过,
但是到目前为止,都没有深入研究过Yarn的源码,
尽管工作中基本都是用的 Yarn 作为资源管理~~~
所以也只能点到即止了,如果后续有时间,可能会进行补充。

  • Cluster 模式
    看明白了Client模式,Cluster 模式就比较简单了。
    申请资源的流程基本都差不多,
    区别就在于Driver程序所在的位置。

    1. 因为是Cluster模式,所以当我们 Spark-Submit 提交Spark任务的时候,
      首先是直接去向 RM 申请启动Driver的资源
    2. Yarn 还是会首先选一台空闲的 NodeManager 来启动 AM管理本次申请,
      不过在AM启动的时候,AM也会对Spark Context 进行初始化,
      所以在 Cluster 模式下,AM 还扮演着另外一个角色,那就是 Driver。
    3. Driver启动之后,那就是开始申请 Excutor的资源了,所以AM 就开始向RM申请资源了,
      接下来的就和 Client 模式基本一致,没什么好说的
  • Cluster 和 Client 的对比
  1. Client 模式因为 Driver 是在提交的机器上面启动的,
    而我们也知道,Driver 在 Spark 任务运行中是承当着 任务调度 和 任务监控的 任务的。
    也就是说 Spark 在运行过程中的所有信息都会向Driver 端进行汇报,
    这也就造成了:

    • 当在Client 端提交的任务过多,会导致 Client 这台机器的负载变大,
      主要还是网卡容易成为瓶颈,一旦出现这种问题,就会导致Driver 超时,
      而Driver超时会使得任务直接就失败。所以生产环境是不建议这么玩的。
    • 同样因为Driver的存在,其监控Spark 任务的全过程,
      其绝大部分日志信息都会向Driver汇总,很方便我们进行调试。
      所以如果你的程序还在测试阶段,那么果断用 Client模式吧,会方便很多。
  2. Client 模式 因为是Driver 的宿主,所以整个任务过程 Client的不能关闭的,
    但是Cluster模式不一样,当任务提交后,
    其实Client在不在已经不影响任务的正常运行了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容