Yarn
状态的查询,除了可以在 hadoop103:8088
页面查看外,还可以通过命令操作。常见的命令操作如下所示:
# <!-- 需求:执行 WordCount 案例,并用 Yarn 命令查看任务运行情况。-->
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount
/input /output
1、yarn application
查看任务
1.1、列出所有Application
yarn application -list
1.2、根据 Application
状态过滤
# 所有状态:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED
yarn application -list -appStates FINISHED
1.3、Kill
掉 Application
yarn application -kill application_1612577921195_0001
2、yarn logs
查看日志
2.1、查询 Application
日志
# 通用格式:yarn logs -applicationId <ApplicationId>
yarn logs -applicationId application_1612577921195_0001
2.2、查询 Container
日志
# 通用格式:yarn logs -applicationId <ApplicationId> -containerId <ContainerId>
yarn logs -applicationId application_1612577921195_0001 -containerId
container_1612577921195_0001_01_000001
3、yarn applicationattempt
查看尝试运行的任务
3.1、列出所有 Application 尝试的列表
# 通用格式:yarn applicationattempt -list <ApplicationId>
yarn applicationattempt -list application_1612577921195_0001
3.2、打印 ApplicationAttemp
状态
# 通用格式:yarn applicationattempt -status <ApplicationAttemptId>
yarn applicationattempt -status appattempt_1612577921195_0001_000001
4、yarn container
查看容器
4.1、列出所有 Container
# 通用格式:yarn container -list <ApplicationAttemptId>
yarn container -list appattempt_1612577921195_0001_000001
4.2、打印 Container
状态
# 通用格式:yarn container -status <ContainerId>
yarn container -status container_1612577921195_0001_01_000001
只有在任务跑的途中才能看到 container 的状态
5、yarn node
查看节点状态
列出所有节点:yarn node -list -all
6、yarn rmadmin
更新配置
加载队列配置:yarn rmadmin -refreshQueues
7、yarn queue
查看队列
# **打印队列信息:**yarn queue -status <QueueName>
yarn queue -status default
8、Yarn
生产环境核心参数
ResourceManager
相关
# 配置调度器,默认容量
yarn.resourcemanager.scheduler.class
# ResourceManager处理调度器请求的线程数量,默认50
yarn.resourcemanager.scheduler.client.thread-count
NodeManager
相关
# 是否让yarn自己检测硬件进行配置,默认false
yarn.nodemanager.resource.detect-hardware-capabilities
# 是否将虚拟核数当作CPU核数,默认false
yarn.nodemanager.resource.count-logical-processors-as-cores
# 虚拟核数和物理核数乘数,例如:4核8线程,该参数就应设为2,默认1.0
yarn.nodemanager.resource.pcores-vcores-multiplier
# NodeManager使用内存,默认8G
yarn.nodemanager.resource.memory-mb
# NodeManager为系统保留多少内存以上二个参数配置一个即可
yarn.nodemanager.resource.system-reserved-memory-mb
# NodeManager使用CPU核数,默认8个
yarn.nodemanager.resource.cpu-vcores
# 是否开启物理内存检查限制container,默认打开
yarn.nodemanager.pmem-check-enabled
# 是否开启虚拟内存检查限制container,默认打开
yarn.nodemanager.vmem-check-enabled
# 虚拟内存物理内存比例,默认2.1
yarn.nodemanager.vmem-pmem-ratio
Container
相关
# 容器最最小内存,默认1G
yarn.scheduler.minimum-allocation-mb
# 容器最最大内存,默认8G
yarn.scheduler.maximum-allocation-mb
# 容器最小CPU核数,默认1个
yarn.scheduler.minimum-allocation-vcores
# 容器最大CPU核数,默认4个
yarn.scheduler.maximum-allocation-vcores