yarn命令是调用的bin/yarn脚本。执行yarn命令时如果不带上参数信息则会打印yarn命令的帮助信息。
yarn命令的用法:
1 yarn[--config confdir][COMMAND|CLASSNAME]yarn有一个命令参数解析框架,可以用来解析通用命令参数以及运行类。命令参数及描述如下表:
| –config confdir | 覆盖默认配置目录,默认配置目录为: ${HADOOP_PREFIX}/conf。 |
| –loglevel loglevel | 覆盖默认日志级别,可选的日志级别为:FATAL,ERROR,WARN,INFO,DEBUG,以及TRACE,默认日志级别为INFO。 |
| GENERIC_OPTIONS(通用命令参数) | 一套在多种命令里面都可能会用到参数项,具体见通用命令项表 |
| COMMAND COMMAND_OPTIONS | 各种命令以及其参数,接下来主要讲述的内容。大致可以分为普通用户命令和系统管理员命令两大类。 |
通用项列表:
| 命令选项 | 描述 |
| -archives | 用逗号分隔计算中未归档的文件,仅仅针对job |
| -conf | 制定应用程序的配置文件 |
| -D | 使用给定的属性值 |
| -files | 用逗号分隔的文件,拷贝到Map reduce机器,仅仅针对job |
| -jt | 指定一个ResourceManager,仅仅针对job |
| -libjars | 将用逗号分隔的jar路径包含到classpath中去,仅仅针对job |
用户命令
主要是Hadoop集群普通用户常用的命令
application
主要用来打印应用信息、杀死应用进程。
用法:
1 | yarn application[options] |
参数项详情:
| -appId | 指定要操作的应用ID |
| -appStates | 和-list命令一起使用,基于应用状态来过滤应用。多个状态用逗号分隔。可用状态为:ALL, NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED |
| -appTypes | 使用-list命令,基于应用类型来过滤应用,如果应用类型有多个,用逗号分隔 |
| -list | 列出从RM返回的应用程序,使用-appTypes参数实现基于应用类型的过滤,使用-appStates参数使用基于应用状态的过滤 |
| -kill | kill指定的应用程序 |
| -status | 打印应用程序的状态 |
| -updatePriority | 更新应用优先级,可以使用“appId”指定应用ID |
applicationattempt
打印application attempt的报告。
用法:
1 | yarn applicationattempt[options] |
参数项详情:
| -help | 帮助 |
| -list | 打印指定应用的application attempt列表 |
| -status | 打印application attempt的状态 |
classpath
打印获取Hadoop相关的jar以及其他必需的库所用的类路径
用法:
1 | yarn classpath[--glob|--jar<path>|-h|--help] |
container
打印container信息。
用法:
1 | yarn container[options] |
参数项:
| -help | 帮助 |
| -list | 应用程序尝试的Containers列表 |
| -status | 打印Container的状态 |
jar
运行jar文件,用户可以将写好的YARN代码打包成jar文件,用这个命令去运行它。
用法:
1 | yarn jar<jar>[mainClass]args... |
logs
转存container日志。
用法:
1 | yarn logs-applicationId<application ID>[options] |
参数项:
| -applicationId | 指定应用程序ID,应用ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:ID) |
| -appOwner | 应用的所有者(默认当前用户) |
| -containerId | Container Id |
| -help | 帮助 |
| -nodeAddress | 节点地址,格式:nodename:port (端口是配置文件中:yarn.nodemanager.webapp.address参数指定),如果指定了containerId,就必须指明nodeAddress |
node
打印节点信息。
用法:
1 | yarn node[options] |
参数项:
| -all | 和-list一起使用,列出所有的节点 |
| -list | 列出所有RUNNING状态的节点,使用-states选项过滤指定状态的节点,使用-all显示所有的节点 |
| -states | 和-list配合使用,过滤指定状态的节点,多个状态以逗号分隔,可用状态为:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED |
| -status | 打印指定节点的状态 |
queue
打印队列信息。
用法:
1 | yarn queue[options] |
参数项:
| help | 帮助 |
| -status | 打印队列的状态 |
version
打印Hadoop版本信息。
用法:
1 | yarn version |
管理员命令
为Hadoop集群管理员提供的命令。
daemonlog
在守护进程中为指定类获取/设置日志级别。
用法:
1 2 | yarn daemonlog-getlevel<host:httpport><classname> yarn daemonlog-setlevel<host:httpport><classname><level> |
参数项:
| -getlevel | 打印运行在 |
| -setlevel | 设置运行在 |
举例:
1 | yarn daemonlog-setlevel127.0.0.1:8088org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImplDEBUG |
nodemanager
启动nodemanager。
用法:
1 | yarn nodemanager |
proxyserver
启动web proxy server。
用法:
1 | yarn proxyserver |
resourcemanager
启动ResourceManager。
用法:
1 | yarn resourcemanager[-format-state-store] |
参数:
| -format-state-store | 格式化RMStateStore。如果之前的应用可以丢弃,则清理RMStateStore, 仅可以在ResourceManager没有运行的时候执行 |
rmadmin
运行ResourceManager管理客户端。
用法:
1 2 3 4 5 6 7 8 9 10 11 12 13 | yarn rmadmin[-refreshQueues] [-refreshNodes] [-refreshUserToGroupsMapping] [-refreshSuperUserGroupsConfiguration] [-refreshAdminAcls] [-refreshServiceAcl] [-getGroups[username]] [-transitionToActive[--forceactive][--forcemanual]<serviceId>] [-transitionToStandby[--forcemanual]<serviceId>] [-failover[--forcefence][--forceactive]<serviceId1><serviceId2>] [-getServiceState<serviceId>] [-checkHealth<serviceId>] [-help[cmd]] |
参数详情:
| -refreshQueues | 重载队列的ACL,状态和调度器特定的属性,ResourceManager将重载mapred-queues配置文件 |
| -refreshNodes | 在ResourceManager刷新hosts信息; dfs.hosts:列出了允许连入NameNode的datanode清单(IP或者机器名); dfs.hosts.exclude:列出了禁止连入NameNode的datanode清单(IP或者机器名); 重新读取hosts和exclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。 |
| -refreshUserToGroupsMappings | 刷新用户到组的映射。 |
| -refreshSuperUserGroupsConfiguration | 刷新用户组的配置 |
| -refreshAdminAcls | 刷新ResourceManager的ACL管理 |
| -refreshServiceAcl | ResourceManager重载服务级别的授权文件。 |
| -getGroups [username] | 获取指定用户所属的组。 |
| -transitionToActive [–forceactive] [–forcemanual] | 尝试将目标服务转为 Active 状态。如果使用了–forceactive选项,不需要核对非Active节点。如果采用了failover,这个命令不能使用。虽然可以重写–forcemanual选项,但需要谨慎。 |
| -transitionToStandby [–forcemanual] | 将服务转为 Standby 状态. 如果采用了failover,这个命令不能使用。虽然可以重写–forcemanual选项,但需要谨慎。 |
| -failover [–forceactive] | 启动从serviceId1 到 serviceId2的故障转移。如果使用了-forceactive选项,即使服务没有准备,也会尝试故障转移到目标服务。如果采用了自动故障转移,这个命令不能使用。 |
| -getServiceState | 返回服务的状态。(注:ResourceManager不是HA,不能运行该命令) |
| -checkHealth | 请求服务器执行健康检查,如果检查失败,RMAdmin将用一个非零标示退出。(注:ResourceManager不是HA,不能运行该命令的) |
| -help [cmd] | 显示指定命令的帮助,如果没有指定,则显示命令的帮助 |
scmadmin
运行Shared Cache Manager管理客户端。
用法:
1 | yarn scmadmin[options] |
参数:
| -help | Help |
| -runCleanerTask | 运行cleaner任务 |
sharedcachemanager
启动Shared Cache Manager。
用法:
1 | yarn sharedcachemanager |
timelineserver
启动TimeLineServer
用法:
1 | yarn timelineserver |
##########
# yarn application -list -appStates ACCEPTED 15/08/10 11:48:43 INFO client.RMProxy: Connecting to ResourceManager at hadoop1/10.0.1.41:8032 Total number of applications (application-types: [] and states: [ACCEPTED]):1 Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL application_1438998625140_1703 MAC_STATUS MAPREDUCE hduser default ACCEPTED UNDEFINED 0% N/A # yarn application -list 15/08/10 11:43:01 INFO client.RMProxy: Connecting to ResourceManager at hadoop1/10.0.1.41:8032 Total number of applications (application-types: [] and states: [SUBMITTED, ACCEPTED, RUNNING]):1 Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL application_1438998625140_1701 MAC_STATUS MAPREDUCE hduser default ACCEPTED UNDEFINED 0% N/A # yarn application -kill application_1438998625140_1705 15/08/10 11:57:41 INFO client.RMProxy: Connecting to ResourceManager at hadoop1/10.0.1.41:8032 Killing application application_1438998625140_1705 15/08/10 11:57:42 INFO impl.YarnClientImpl: Killed application application_1438998625140_1705 # yarn applicationattempt -list application_1437364567082_0106 15/08/10 20:58:28 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Total number of application attempts :1 ApplicationAttempt-Id State AM-Container-Id Tracking-URL appattempt_1437364567082_0106_000001 RUNNING container_1437364567082_0106_01_000001 http://hadoopcluster79:8088/proxy/application_1437364567082_0106/ # yarn applicationattempt -status appattempt_1437364567082_0106_000001 15/08/10 21:01:41 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Application Attempt Report : ApplicationAttempt-Id : appattempt_1437364567082_0106_000001 State : FINISHED AMContainer : container_1437364567082_0106_01_000001 Tracking-URL : http://hadoopcluster79:8088/proxy/application_1437364567082_0106/jobhistory/job/job_1437364567082_0106 RPC Port : 51911 AM Host : hadoopcluster80 Diagnostics : # yarn container -list appattempt_1437364567082_0106_01 15/08/10 20:45:45 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Total number of containers :25 Container-Id Start Time Finish Time State Host LOG-URL container_1437364567082_0106_01_000028 1439210458659 0 RUNNING hadoopcluster83:37140 //hadoopcluster83:8042/node/containerlogs/container_1437364567082_0106_01_000028/hadoop container_1437364567082_0106_01_000016 1439210314436 0 RUNNING hadoopcluster84:43818 //hadoopcluster84:8042/node/containerlogs/container_1437364567082_0106_01_000016/hadoop # yarn container -status container_1437364567082_0105_01_000020 15/08/10 20:28:00 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Container Report : Container-Id : container_1437364567082_0105_01_000020 Start-Time : 1439208779842 Finish-Time : 0 State : RUNNING LOG-URL : //hadoopcluster83:8042/node/containerlogs/container_1437364567082_0105_01_000020/hadoop Host : hadoopcluster83:37140 Diagnostics : null # yarn logs -applicationId application_1437364567082_0104 -appOwner hadoop 15/08/10 17:59:19 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Container: container_1437364567082_0104_01_000003 on hadoopcluster82_48622 ============================================================================ LogType: stderr LogLength: 0 Log Contents: LogType: stdout LogLength: 0 Log Contents: LogType: syslog LogLength: 3673 Log Contents: 2015-08-10 17:24:01,565 WARN [main] org.apache.hadoop.conf.Configuration: job.xml:an attempt to override final parameter: mapreduce.job.end-notification.max.retry.interval; Ignoring. # yarn node -list -all 15/08/10 17:34:17 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Total Nodes:4 Node-Id Node-State Node-Http-Address Number-of-Running-Containers hadoopcluster82:48622 RUNNING hadoopcluster82:8042 0 hadoopcluster84:43818 RUNNING hadoopcluster84:8042 0 # yarn node -status hadoopcluster82:48622 15/08/10 17:52:52 INFO client.RMProxy: Connecting to ResourceManager at hadoopcluster79/10.0.1.79:8032 Node Report : Node-Id : hadoopcluster82:48622 Rack : /default-rack Node-State : RUNNING Node-Http-Address : hadoopcluster82:8042 Last-Health-Update : 星期一 10/八月/15 05:52:09:601CST Health-Report : Containers : 0 Memory-Used : 0MB Memory-Capacity : 10240MB CPU-Used : 0 vcores CPU-Capacity : 8 vcores
评论(0)
暂无评论
