Hadoop学习日记DAY4-Yarn

1Yarn资源调度器

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于操作系统之上的应用程序

1.1Yarn基础架构

ResourceManager、NodeManager、ApplicationMaster和Container等组件构成

1.2Yarn工作机制

1)MR程序提交到客户端所在的节点

2)YarnRunner向ResourceManager申请一个Application

3)RM将该应用程序的资源路径返回给YarnRunner

4)该程序将运行所需资源提交到HDFS上

5)程序资源提交完毕后,申请运行MRAppMaster

6)RM将用户的请求初始化成一个Task

7)其中一个NodeManager领取到Task

8)该NodeManager创建容器Container,并产生MRAppMaster

9)Container从HDFS上拷贝资源到本地

10)MRAppMaster向RM申请运行MapTask资源

11)RM将运行MapTask任务分配给另外两NodeManager,另外两个NM分别领取任务并创建容器

12)MR向两个接收到任务的NM发送程序启动脚本,这两个NM分别启动MapTask,MapTask对数据分区排序

13)MRAPPMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask

14)ReduceTask向MapTask获取相应分区的数据

15)程序运行完毕后,MR会向RM申请注销自己

1.3作业提交全过程

HDFS、Yarn、MapReduce三者关系

HDFS MR具体细节见之前

作业提交全过程详解

1.4Yarn调度器和调度算法

目前,Hadoop作业调度器主要有三种:FIFO、容量(CapacityScheduler)和公平(FairScheduler)。Apache Hadoop3.1.3默认的是CapacityScheduler

FIFO:先进先出调度器

优点简单易懂,缺点不支持多队列,生产环境很少用

容量调度器CapacityScheduler

分配算法

公平调度器

缺额:

资源分配方式

分配算法

DRF策略(针对多种资源情况)

1.5Yarn常用命令

yarn application 查看任务

1)列出所有Application: yarn application -list

2)根据Application状态过滤: yarn application -list -appStates(所有状态:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、KILLED)

3)Kill掉application:  -kill

yarn log 查看日志

1)查询Application日志: yarn logs -applicationId<ApplicationId>

2)查询Container日志:yarn logs -applicationId<ApplicationId> -containerId<ContainerId>

yarn applicationattempt 查看尝试运行的任务

1)列出所有Application尝试的列表:yarn applicationattempt -list<ApplicationId>

2)打印applicationattempt状态 yarn applicationattempt  -status<ApplicationAttemptId>

yarn container 查看容器

1)列出: yarn container -list<ApplicationAttemptId>

2)打印状态:yarn container -status<ContainerId>

注:只有在任务跑的途中才能看到container的状态

yarn node 查看节点状态

列出所有节点:yarn node -list -all

yarn rmadmin 更新配置

加载队列配置:yarn rmadmin -refreshQueues

yarn queue 查看队列

打印队列信息:yarn queue -status<QueueName>

1.6Yarn生产环境核心参数

2 Yarn实操

2.1WordCount需求设置

之后修改 yarn-site.xml配置参数

2.2容量调度器多队列提交案例

配置capacity-scheduler.xml

2.3公平调度器案例

2.4Yarn的Tool接口案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值