为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Hadoop
目录
  • 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之外的其他计算框架

    webp

    image.png

  • 资源利用率低&集群之间不能共享资源&运维成本高、管理困难


    webp

    image.png

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

    webp

    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
提交作业;查看作业运行进度;杀死作业

webp

image.png


4、YARN执行流程

webp

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.xmlcp 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>



效果如图

webp

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/  

webp

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/   可以看到刚刚提交的作业,刷新页面查看作业的运行状态。

webp

image.png


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

webp

image.png



作者:艳阳景
链接:https://www.jianshu.com/p/0e07041a6556


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消