文章目录
- 1、Yarn 资源调度器
- 1.1 Yarn 基础架构
- 1.2 Yarn 工作机制
- 1.3 作业提交全过程
- 1.4 Yarn 调度器和调度算法
- 1.4.1 先进先出调度器(FIFO)
- 1.4.2 容量调度器(Capacity Scheduler)
- 1.4.3 公平调度器(Fair Scheduler)
- 1.5 Yarn 常用命令
- 1.5.1 yarn application 查看任务
- 1.5.2 yarn logs 查看日志
- 1.5.3 yarn applicationattempt 查看尝试运行的任务
- 1.5.4 yarn container 查看容器
- 1.5.5 yarn node 查看节点状态
- 1.5.6 yarn rmadmin 更新配置
- 1.5.7 yarn queue 查看队列
- 1.6 Yarn 生产环境核心参数
- 2、Yarn 案例实操
- 2.1 Yarn生产环境核心参数配置案例
- 2.2 容量调度器多队列提交案例
- 2.3 公平调度器
- 2.4 Yarn 的 Tool 接口案例
1、Yarn 资源调度器
Yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。
1.1 Yarn 基础架构
YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件构成。
1.2 Yarn 工作机制
1.3 作业提交全过程
1.4 Yarn 调度器和调度算法
1.4.1 先进先出调度器(FIFO)
1.4.2 容量调度器(Capacity Scheduler)
1.4.3 公平调度器(Fair Scheduler)
1.5 Yarn 常用命令
1.5.1 yarn application 查看任务
[lln@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /output2
(1)列出所有 Application:
yarn application -list
(2)根据 Application 状态过滤:yarn application -list -appStates (所有状态:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED)
yarn application -list -appStates FINISHED
(3)Kill 掉 Application:
yarn application -kill application_1683617581530_0001
1.5.2 yarn logs 查看日志
(1)查询 Application 日志:yarn logs -applicationId < ApplicationId >
[lln@hadoop102 hadoop-3.1.3]$ yarn logs -applicationId application_1683617581530_0001
(2)查询 Container 日志:yarn logs -applicationId < ApplicationId > -containerId < ContainerId >
[lln@hadoop102 hadoop-3.1.3]$ yarn logs -applicationId application_1683617581530_0001 -containerId container_1683617581530_0001_01_000001
1.5.3 yarn applicationattempt 查看尝试运行的任务
(1)列出所有 Application 尝试的列表:yarn applicationattempt -list < ApplicationId >
[lln@hadoop102 hadoop-3.1.3]$ yarn applicationattempt -list application_1683617581530_0001
(2)打印 ApplicationAttemp 状态:yarn applicationattempt -status < ApplicationAttemptId >
[lln@hadoop102 hadoop-3.1.3]$ yarn applicationattempt -status appattempt_1683617581530_0001_000001
1.5.4 yarn container 查看容器
(1)列出所有 Container:yarn container -list < ApplicationAttemptId >
[lln@hadoop102 hadoop-3.1.3]$ yarn container -list appattempt_1683617581530_0001_000001
运行完凑释放了,现在看不到
(2)打印 Container 状态:yarn container -status < ContainerId >
[lln@hadoop102 hadoop-3.1.3]$ yarn container -list container_1683617581530_0001_01_000001
1.5.5 yarn node 查看节点状态
列出所有节点:yarn node -list -all
1.5.6 yarn rmadmin 更新配置
加载队列配置:yarn rmadmin -refreshQueues
[lln@hadoop102 hadoop-3.1.3]$ yarn rmadmin -refreshQueues
2023-05-18 11:58:41,376 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.249.103:8033
1.5.7 yarn queue 查看队列
打印队列信息:yarn queue -status < QueueName >
[lln@hadoop102 hadoop-3.1.3]$ yarn queue -status default
1.6 Yarn 生产环境核心参数
apach默认是容量调度器,cdh是公平调度器。
大型企业,对并发度要求很高,用并发,中小型,对并发要求没那么高,用容量。
2、Yarn 案例实操
注:调整下列参数之前尽量拍摄Linux快照,否则后续的案例,还需要重新准备集群。
2.1 Yarn生产环境核心参数配置案例
2.2 容量调度器多队列提交案例
2.3 公平调度器
2.4 Yarn 的 Tool 接口案例