专业的编程技术博客社区

网站首页 > 博客文章 正文

YARN的入门介绍(yarn使用教程)

baijin 2024-10-14 08:12:58 博客文章 5 ℃ 0 评论

1.YARN生产背景

? MapReduce1.x存在的问题:

? 1.单点故障&节点压力大不易扩展&不支持mapreduce以外的计算框架(spark,storm)

? 在MapReduce1.x下的架构:MapReduce:Master/Slave架构,1个JobTracker带多个 TaskTracker

? JobTracker:负责资源管理和作业调度

? TaskTracker:定期向JT汇报本节点的健康状况、资源使用情况、作业执行情况

? 接收来自JT的命令:启动任务/杀死任务

? 单点故障:整个集群中只有一个JobTracker如果JT挂掉了全部TT都完蛋了

? 2.资源利用率&运维成本

? 由于在MapReduce1.x的架构加只能跑MapReduce,所以想要用其他的计算框架就必须在搭建支持其他计算框架的集群,

?

? 所以由上面的图产生了共享集群的意愿,同时催生了YARN:不同的计算框架可以共享同一个HDFS集群上的数据,

?

2.YARN概述

3.YARN架构(重点,需复述)

?

? 1.REsourceManager:RM

? 整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度

? 处理客户端的请求:提交一个作业、杀死一个作业

? 监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何处理

? 2.NodeManager:NM

? 整个集群中有多个,负责自己本身节点资源管理和使用

? 定时向RM汇报本节点的资源使用情况

? 接受并处理来自RM的各种命令:启动Container

? 处理来自AM的命令

? 单个节点的资源管理是由它自己管理,通过心跳机制告诉RM

? 3.ApplicationMaster:AM

? 每个应用程序对应一个:MR、Spark,负责应用程序的管理

? 为应用程序向RM申请资源(core、memory),分配给内部task

? 需要与NM进行通信:启动/停止task的运行,task试运行在container里面,AM也是运行在Container里面

? 4.Container

? 封装了CPU、Memory等资源的一个容器

? 是一个任务运行环境的抽象

? 5.Client

? 提交作业

? 查询作业的运行进度

? 杀死作业

4.YARN执行流程

?

5.YARN环境搭建

? 1.使用版本:hadoop-2.6.0-cdh5.7.0

? 2.修改配置文件


  1. cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
  2. vim yarn-site.xml

  1. <!--告诉框架yarn的nodemanager用的哪一个service-->
  2. <configuration>
  3. <property>
  4. <name>yarn.nodemanager.aux-services</name>
  5. <value>mapreduce_shuffle</value>
  6. </property>
  7. </configuration>

? 修改mapred-site.xml


  1. cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
  2. #如果没有mapred-site.xml需要拷贝一份 mapred-site.xml.template
  3. cp mapred-site.xml.template mapred-site.xml
  4. vim mapred-site.xml

?


  1. <!--告诉框架最终mapReduce最终是跑在YARN上面-->
  2. <configuration>
  3. <property>
  4. <name>mapreduce.framework.name</name>
  5. <value>yarn</value>
  6. </property>
  7. </configuration>

? 3.启动ResourceManager和NodeManager进程


  1. cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin
  2. ./start-yarn.sh

? 4.验证

? jps

? 应当出现:ResourceManager和NodeManager

? 浏览器:http://hadoop000:8088

? 5.停止YARN相关的进程


  1. cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin
  2. ./stop-yarn.sh

6.提交作业到YARN上执行

?


  1. #1 进入到该目录下:
  2. cd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce
  3. #2 通过命令提交mapReduce作业到YARN上运行:
  4. hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表