美文网首页hadoop大数据大数据,机器学习,人工智能
《十小时入门大数据》学习笔记之Hadoop核心组件YARN

《十小时入门大数据》学习笔记之Hadoop核心组件YARN

作者: 腊月的梅花 | 来源:发表于2018-12-17 20:52 被阅读49次
    目录
    • 1.YARN 产生背景
    • 2.YARN概述
    • 3.YARN架构(面试考点,务必要了解整个架构)
    • 4.YARN执行流程(面试考点,务必要了解整个执行流程)
    • 5.YARN环境搭建
    • 6.提交作业到YARN上执行

    1、YARN 产生背景

    在Hadoop1.X时,MapReduce是Master/Slave的架构,1个JobTracker带多个TaskTracker
    JobTracker:负责资源管理和作业调度
    TaskTracker:定期向JT汇报本节点的健康状况、资源使用情况、作业执行情况;接受来自JT的命令:启动任务/杀死任务

    • MapReduce1.x 存在的问题:单点故障&节点压力大不易扩展&不支持除了MapReduce之外的其他计算框架 image.png
    • 资源利用率低&集群之间不能共享资源&运维成本高、管理困难


      image.png
    • 因此,催生了YARN的诞生
      有了YARN(集群资源管理)之后,可以运行多个不同类型的作业和多种不同的计算框架。可以把YARN理解为是 操作系统级别的资源调度框架 ,它让更多的计算框架(Spark、MapReduce、Storm、Flink等)运行在同一个集群中,不同的计算框架之间可以共享同一个HDFS集群上的数据、享受整体的资源调度。
      xxx on YARN的好处:与其他计算框架共享集群资源、按资源需要分配,进而提高集群资源的利用率
      xxx :Spark、MapReduce、Storm、Flink

      image.png

    2、YARN概述

    • Yet Another Resource Negotiator
    • 通用的资源管理系统
    • 为上层应用提供统一的资源管理和调度

    3、YARN架构(面试考点,务必要了解整个架构的执行流程)

    1)ResourceManager:RM
    整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度;处理客户端的请求:提交一个作业、杀死一个作业;监控NM,一旦某个NM挂了,则该NM上运行的任务需要告诉我们的AM该如何处理;
    2)NodeManager:NM
    整个集群中有多个,负责自己本身节点资源管理和使用,定时向RM汇报本节点的资源使用情况;接受并处理来自RM的各种命令:启动Container;
    处理来自AM的命令;单个节点的资源管理;
    3)ApplicationMaster:AM
    每个应用程序对应一个AM:MR、Spark,负责应用程序的管理;为应用程序向RM申请资源(core、memory),分配给内部task,需要与NM通信:启动/停止task,task是运行在Container里面,AM也是运行在Container里面的。
    4)Container
    封装了CPU、Memory等资源的一个容器;是一个任务运行环境的抽象
    5)Client
    提交作业;查看作业运行进度;杀死作业

    image.png

    4、YARN执行流程

    image.png

    5、YARN环境搭建(单节点)

    1)使用版本

    • hadoop-2.6.0-cdh5.7.0.tar.gz

    2)修改配置文件

    • etc/hadoop/mapred-site.xml
      (第一次使用的时候,会发现在etc/hadoop/目录下并没有mapred-site.xml文件,只有mapred-site.xml.template,此时只需要复制一份mapred-site.xml.template重命名为mapred-site即可)在终端输入如下命令:
    #复制mapred-site.xml.template重命名为mapred-site.xml
    cp mapred-site.xml.template  mapred-site.xml 
    #打开mapred-site.xml 
    vim mapred-site.xml 
    

    把下面代码添加到mapred-site.xml 文件中即可

    <property>
        <name>mapreduce.framework.name</name>
           <value>yarn</value>
       </property>
    
    效果如图 image.png
    • etc/hadoop/yarn-site.xml
      同上,打开yarn-site.xml,把下面代码添加进去即可
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    

    3)启动

    sbin/start-yarn.sh
    

    4)验证
    jps:多次两个进程NodeManager、 ResourceManager
    打开浏览器:http://localhost:8088/

    image.png

    5)停止

    sbin/stop-yarn.sh
    

    6、提交MapReduce作业到YARN上执行

    在/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce
    路径下,有官方提供的MapReduce的案例jar包:hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar
    在终端输入以下命令:

    #这条命令是运行官方提供的计算pi的案例
    hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3
    

    在浏览器中输入 http://localhost:8088/ 可以看到刚刚提交的作业,刷新页面查看作业的运行状态。

    image.png
    在终端可以查看到运行的结果
    image.png

    相关文章

      网友评论

        本文标题:《十小时入门大数据》学习笔记之Hadoop核心组件YARN

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