前言
YARN 提供 WEB UI 服务,在 Hadoop 2.9.0 版本中,提供新 WebUI V2 服务,可提供对运行在 YARN 框架上的应用程序的可视化。
1. 用户命令
用户命令主要包括对Application
、ApplicationAttempt
、Classpath
、Container
、Jar
、Logs
、Node
、Queue
和Version
的使用。
1.1 application
使用方式:
1 yarn application [options]
查看所有的Application
仅显示状态为 SUBMITTED、ACCEPTED、RUNNING 应用。
1 yarn application -kill application_1573364048641_0004
1 yarn application -status application_1614179148030_0001
1 yarn application -list -appStates ALL
查看类型为MAPREDUCE的Application列表
1 yarn application -list -appTypes MAPREDUCE
移动一个Application到default队列
注意: 如果使用 FairScheduler 时,使用此命令移动应用程序从 A 队列到 B 队列时,出于公平考虑,它在 A 队列所分配的资源会在 B 队列中重新资源分配。如果加入被移动的应用程序的资源超出 B 队列的 maxRunningApps 或者 maxResources 限制,会导致移动失败。
1 yarn application -movetoqueue application_1573364048641_0004 -queue default
修改一个Application的优先级
注: 整数值越高则优先级越高
1 yarn application -updatePriority 0 -appId application_1573364048641_0006
1.2 jar
使用方式:
1 yarn jar x.jar [mainClass] args...
使用 yarn jar 提交运行 MapReduce 应用,命令如下所示:
1 yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
1.3 applicationattempt
使用方式:
1 yarn applicationattempt [options]
1 yarn applicationattempt -help
1 yarn applicationattempt -fail appattempt_1573364048641_0004_000001
1 yarn applicationattempt -list application_1614179148030_0001
查看具体某一个applicationattemp的报告
1 yarn applicationattempt -status appattempt_1614179148030_0001_000001
1.4 container
使用方式:
1 yarn container [options]
查看某一个applicationattempt下所有的container
注: 应用在 YARN 时,才能够查看出 Contanier 容器信息。
1 yarn container -list appattempt_1614179148030_0001_000001
1.5 logs
使用方式:
1 yarn logs -applicationId <application ID> [options]
1 yarn logs -applicationId application_1614179148030_0001
-查看应用程序某个container运行所在节点的log
1 yarn logs -applicationId application_1614179148030_0001 -containerId container_e01_1614179148030_0001_01_000001
1.6 classpath
获取 yarn 的类路径,执行命令,显示如下结果:
1 2 [hadoop@hadoop1 hadoop-3.3.1]$ yarn classpath /data/hadoop-3.3.1/etc/hadoop:/data/hadoop-3.3.1/share/hadoop/common/lib/*:/data/hadoop-3.3.1/share/hadoop/common/*:/data/hadoop-3.3.1/share/hadoop/hdfs:/data/hadoop-3.3.1/share/hadoop/hdfs/lib/*:/data/hadoop-3.3.1/share/hadoop/hdfs/*:/data/hadoop-3.3.1/share/hadoop/mapreduce/*:/data/hadoop-3.3.1/share/hadoop/yarn:/data/hadoop-3.3.1/share/hadoop/yarn/lib/*:/data/hadoop-3.3.1/share/hadoop/yarn/*
1.7 queue
使用方式:
1.8 node
使用方式:
-查看yarn所有从节点
-查看yarn所有节点的详情
1 yarn node -list -showDetails
1 yarn node -list -states RUNNING
1 yarn node -status hadoop1:45046
1.9 version
使用方式:
2. 管理命令
对于 Hadoop 集群的管理员使用的相关命令,主要包括daemonlog
、nodemanager
、proxymanager
、resourcemanager
、rmadmin
、scmadmin
、sharedcachemanager
和timelineserver
命令。
2.1 resourcemanager
1 yarn resourcemanager [options]
格式化resourcemanager的RMStateStore
清除 RMStateStore,如果不再需要以前的应用程序,则将非常有用。只有在 ResourceManager 没有运行时才能使用此命令。
1 yarn resourcemanager -format-state-store
删除RMStateStore中的Application
从 RMStateStore 删除该应用程序,只有在 ResourceManager 没有运行时才能使用此命令。
1 yarn resourcemanager -remove-application-from-state-store <appId>
2.2 nodemanager
2.3 proxyserver
如果启动 YARN ProxyServer 服务,需要在yarn-site.xml
文件中配置如下属性:
1 2 3 4 <property > <name > yarn.web-proxy.address</name > <value > hadoop3:8089</value > </property >
2.4 daemonlog
使用方式:
1 2 yarn daemonlog -getlevel <host:httpport> <classname> yarn daemonlog -setlevel <host:httpport> <classname> <level>
1 yarn daemonlog -getlevel hadoop2:8088 org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl
1 yarn daemonlog -setlevel hadoop2:8088 org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl DEBUG
2.5 rmadmin
使用方式:
重新加载mapred-queues配置文件
重新加载队列的 ACL,状态和调度程序特定的属性,ResourceManager 将重新加载 mapred-queues 配置文件。
1 yarn rmadmin -refreshQueues
1 yarn rmadmin -refreshNodes
在ResourceManager上刷新NodeManager的资源
1 yarn rmadmin -refreshNodesResources
1 yarn rmadmin -refreshSuperUserGroupsConfiguration
1 yarn rmadmin -refreshAdminAcls
获取ResourceManager服务的Active/Standby状态
1 yarn rmadmin -getAllServiceState
1 yarn rmadmin -getServiceState rm1
1 yarn rmadmin -getServiceState rm2
ResourceManager服务执行健康检查
请求 ResourceManager 服务执行健康检查,如果检查失败,RMAdmin 工具将使用非零退出码退出。
1 2 yarn rmadmin -checkHealth rm1 yarn rmadmin -checkHealth rm2
2.6 timelineserver
1 yarn-daemon.sh start timelineserver
2.7 scmadmin
scmadmin 是 ShareCacheManager(共享缓存管理)的管理客户端,使用方式:
执行清理任务
1 yarn scmadmin -runCleanerTask
先启动 SCM 服务(SharedCacheManager服务) 1 yarn-daemon.sh start sharedcachemanager