美文网首页
【复习001】-20170722

【复习001】-20170722

作者: eosclover | 来源:发表于2017-07-22 13:26 被阅读16次

    一、大数据基础

    Hadoop、MapReduce、Hbase、Spark、Storm、Zookeeper
    

    二、MapReduce和Yarn功能与架构
    Yarn(集群资源管理)的组件

        ResourceManager(RM):整个系统只有一个RM,它就只管调度方面的事情,并且为集群应用而优化,因而具有很好的性能。RM的一个核心是它的Scheduler。调度包含两个过程,一要搜集各节点的情况;二要根据某种调度策略,分配合适的节点。搜集节点情况是基于一个资源容器(resource container)的概念,该容器包括cpu,disk,network等(目前只用到cpu)
        NodeManager(NM):NM是每个节点一个实例,管理每个节点,它触发应用容器(application container),监控节点的资源(cpu/disk等),并向RM报告资源的情况。
        ApplicationMaster(AM):AM是每个应用一个实例,它是一个特定的框架接口库,一方面与RM中的Scheduler协商得到resource container,另一方面与NM一起执行和监控各子任务部件,从系统的角度,AM本身也一种container(下图中将它与container画得一样)。
        Container:从逻辑上,container可认为是资源的分配容器,它包括hostname,cpu,memory等属性。AM发送ResourceRequest给RM,然后RM分配合适的Container给AM,AM再将此Container提交给它所在节点的NM,NM采用此资源容器运行任务。实际上,Container是一种使用资源的“授权”,AM得到此授权后,在NM的管理下,可以运行任何进程(包括非Java应用,这一点与1.0不同)。YARN可以激发活动的API包括:
            在容器内运行进程的命令行
            环境变量
            本地资源,包括jar,链接库、文件等
            安全凭证
    
    Yarn

    三、MapReduce客户端与RM的内部交互原理

    1.客户端通知RM提交一个应用
    2.RM生成一个唯一标识的应用ID,又叫JOb ID,同时将当前NM集群的资源描述信息反馈给客户端。
    3.客户端根据RM的反馈信息,开始Job提交之前的初始化过程,包括调度队列、用户及优先级信息,以及RM创建和启动AM所需的信息(例如应用Jar文件、Job资源信息、安全Token或其他资源描述)。
    4.客户端向RM查询、获取应用的执行进展报告
    5.RM(实际是ASM)将应用执行进展报告发给MRClient
    6.如有必要,客户端可直接通知RM(实际是ASM)终止
    
    
    MapReduce客户端与RM的内部交互原理

    【复现002】-20170723
    四、Yarn 关键组件内部交互原理

    1. RM调度资源并在合适的NM节点上启动对应的AM。AM向RM注册,包含二者之间的握手信息、AM侦听端口,及后续进行AM管理和监控的URL。
    2. RM接收AM注册信息,并反馈响应给AM,包含集群资源信息。
    3. AM向RM发起资源分配请求,包含需要使用的Container个数,同时附带归属于        本AM的Container信息。
    4. AM向RM获取资源分配进度信息,并保持与 RM之间的心跳。
    5. RM根据资源调度策略,分配容器资源给AM。
    6. AM根据RM反馈信息,指示对应NM完成Container的拉起。一个NM上可以启动多个Container。
    7. 在Container运行过程中,AM向NM获取Container的运行状态报告。
    8. NM将Container的运行状态信息反馈给AM。
    
    Yarn 关键组件内部交互原理

    相关文章

      网友评论

          本文标题:【复习001】-20170722

          本文链接:https://www.haomeiwen.com/subject/spxukxtx.html