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

目录
  • 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 文件中即可


    mapreduce.framework.name
       yarn
   

效果如图
image.png
  • etc/hadoop/yarn-site.xml
    同上,打开yarn-site.xml,把下面代码添加进去即可

        yarn.nodemanager.aux-services
        mapreduce_shuffle
    

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)