zoukankan      html  css  js  c++  java
  • 六、yarn运行模式

    简介

    spark的yarn运行模式根据Driver在集群中的位置分成两种:

    1)yarn-client 客户端模式

    2)yarn-cluster 集群模式

    yarn模式和standalone模式不同,standalone模式需要启动spark独立集群,这样SparkContext才能与Master进行交互通信。而yarn模式的资源管理全部托管给的ResourceManager了,所以它不需要启动spark独立集群,那么也就意味着你无法访问http://master:8080这个页面了。

    yarn集群模式

    spark的yarn集群模式,Driver运行在Application Master上,Application Master进程同时负责驱动我们的代码程序从ResourceManager申请资源。由于它直接运行在yarn的Container当中,所以并不需要客户端,客户端可以在提交完毕之后就关闭,如图:

    1)客户端将生成作业信息并提交给ResourceManager

    2)ResourceManager会选择一个NodeManager去启动container,并且把ApplicationMaster分配给它去运行

    3)NodeManager接收到以后就会启动ApplicationMaster并初始化dag作业,此时NodeManager就成为Driver

    4)ApplicationMaster向ResourceManager申请资源

    5)ResourceManager分配资源的同时通知其它NodeManager启动相应的executor去执行task,并反馈执行情况

    6)执行完毕,释放资源

    yarn客户端模式

    yarn客户端模式和yarn集群模式的区别很明显,就是在于ApplicationMaster仅仅负责从ResourceManager申请资源,而驱动代码程序的任务还是由Client客户端负责,所以Client客户端在整个过程中保持运行不会像集群模式一样提交完就关闭,如图:

    1)客户端生成作业信息并提交给ResourceManager

    2)ResourceManager在本地NodeManager启动container并分配运行ApplicationMaster

    3)Client节点会初始化dag作业,通过ApplicationMaster去向ResourceManager申请资源

    4)Client节点将任务分发给executor去执行,executor反馈执行情况

    5)任务执行完毕,释放资源

    yarn-client和yarn-cluster的区别

    1)在yarn-cluster模式中,Driver运行在ApplicationMaster上,而在yarn-client模式中Driver运行在Client

    2)yarn-cluster模式中,Client提交完可以直接关闭,yarn-client模式中保持运行并和executor通信

    3)yarn-cluster模式中,ApplicationMaster负责资源申请驱动程序运行,yarn-client模式中只负责资源申请,运行程序由Client负责

    4)yarn-cluster适合生产环境,而yarn-client适合交互和调试

    参考书籍:《spark大数据技术与应用》

  • 相关阅读:
    HTTPS
    RPC
    2017.4.19上午
    2017.4.18下午
    2017.4.18上午
    2017.4.17下午
    2017.4.17上午
    2017.4.14下午
    2017.4.14上午
    2017.4.13下午
  • 原文地址:https://www.cnblogs.com/lay2017/p/10055852.html
Copyright © 2011-2022 走看看