原文链接:http://www.aboutyun.com/thread-14930-1-1.html
问题导读
1.对于Hadoop集群用户有哪些有用的命令?
2.打印需要得到Hadoop的jar和所需要的lib包路径使用的什么命令?
3.对hadoop集群的管理员有哪些很有用的命令?
概述
YARN命令是调用bin/yarn脚本文件,如果运行yarn脚本没有带任何参数,则会打印yarn所有命令的描述。
使用: yarn [--config confdir] COMMAND [--loglevel loglevel] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
YARN有一个参数解析框架,采用解析泛型参数以及运行类。
命令参数 | 描述 |
--config confdir | 指定一个默认的配置文件目录,默认值是: ${HADOOP_PREFIX}/conf. |
--loglevel loglevel | 重载Log级别。有效的日志级别包含:FATAL, ERROR, WARN, INFO, DEBUG, and TRACE。默认是INFO。 |
GENERIC_OPTIONS | YARN支持表A的通用命令项。 |
COMMAND COMMAND_OPTIONS | YARN分为用户命令和管理员命令。 |
表A:
通用项 | Description |
-archives |
用逗号分隔计算中未归档的文件。 仅仅针对JOB。 |
-conf |
制定应用程序的配置文件。 |
-D |
使用给定的属性值。 |
-files |
用逗号分隔的文件,拷贝到Map reduce机器,仅仅针对JOB |
-jt |
指定一个ResourceManager. 仅仅针对JOB。 |
-libjars |
将用逗号分隔的jar路径包含到classpath中去,仅仅针对JOB。 |
用户命令:
对于Hadoop集群用户很有用的命令:
application
使用: yarn application [options]
命令选项 | 描述 |
-appStates |
使用-list命令,基于应用程序的状态来过滤应用程序。如果应用程序的状态有多个,用逗号分隔。 有效的应用程序状态包含 如下: ALL, NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED |
-appTypes |
使用-list命令,基于应用程序类型来过滤应用程序。如果应用程序的类型有多个,用逗号分隔。 |
-list | 从RM返回的应用程序列表,使用-appTypes参数,支持基于应用程序类型的过滤,使用-appStates参数,支持对应用程序状态的过滤。 |
-kill |
kill掉指定的应用程序。 |
-status |
打印应用程序的状态。 |
示例1:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 5 |
|
示例2:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 5 |
|
示例3:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 |
|
applicationattempt
使用: yarn applicationattempt [options]
命令选项 | 描述 |
-help | 帮助 |
-list |
获取到应用程序尝试的列表,其返回值ApplicationAttempt-Id 等于 |
-status |
打印应用程序尝试的状态。 |
打印应用程序尝试的报告。
示例1:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 5 |
|
示例2:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 5 |
|
classpath使用: yarn classpath
打印需要得到Hadoop的jar和所需要的lib包路径
[Plain Text] 纯文本查看 复制代码
?
1 2 |
|
container
使用: yarn container [options]
命令选项 |
描述 |
-help |
帮助 |
-list |
应用程序尝试的Containers列表 |
-status |
打印Container的状态 |
打印container(s)的报告
示例1:
[Plain Text] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
示例2:
[Plain Text] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 |
|
jar使用: yarn jar
运行jar文件,用户可以将写好的YARN代码打包成jar文件,用这个命令去运行它。
logs
使用: yarn logs -applicationId
注:应用程序没有完成,该命令是不能打印日志的。
命令选项 |
描述 |
-applicationId |
指定应用程序ID,应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:ID) |
-appOwner |
应用的所有者(如果没有指定就是当前用户)应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:User) |
-containerId |
Container Id |
-help |
帮助 |
-nodeAddress |
节点地址的格式:nodename:port (端口是配置文件中:yarn.nodemanager.webapp.address参数指定) |
转存container的日志。
示例:
[Plain Text] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 |
|
node
使用: yarn node [options]
命令选项 |
描述 |
-all |
所有的节点,不管是什么状态的。 |
-list |
列出所有RUNNING状态的节点。支持-states选项过滤指定的状态,节点的状态包 |
-states |
和-list配合使用,用逗号分隔节点状态,只显示这些状态的节点信息。 |
-status |
打印指定节点的状态。 |
示例1:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 |
|
示例2:
[Plain Text] 纯文本查看 复制代码
?
1 2 3 4 5 6 7 8 |
|
示例3:
[Plain Text] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 |
|
打印节点的报告。
queue
使用: yarn queue [options]
命令选项 |
描述 |
-help |
帮助 |
-status |
打印队列的状态 |
打印队列信息。
version
使用: yarn version
打印hadoop的版本。
管理员命令:
下列这些命令对hadoop集群的管理员是非常有用的。
daemonlog使用:
yarn daemonlog -getlevel
参数选项 |
描述 |
-getlevel |
打印运行在 |
-setlevel |
设置运行在 |
针对指定的守护进程,获取/设置日志级别.
示例1:
[Plain Text] 纯文本查看 复制代码
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 |
|
nodemanager
使用: yarn nodemanager
启动NodeManager
proxyserver
使用: yarn proxyserver
启动web proxy server
resourcemanager
使用: yarn resourcemanager [-format-state-store]
参数选项 |
描述 |
-format-state-store |
RMStateStore的格式. 如果过去的应用程序不再需要,则清理RMStateStore, RMStateStore仅仅在ResourceManager没有运行的时候,才运行RMStateStore |
启动ResourceManager
rmadmin
使用:
yarn rmadmin [-refreshQueues] [-refreshNodes] [-refreshUserToGroupsMapping] [-refreshSuperUserGroupsConfiguration] [-refreshAdminAcls] [-refreshServiceAcl] [-getGroups [username]] [-transitionToActive [--forceactive] [--forcemanual]
参数选项 |
描述 |
-refreshQueues |
重载队列的ACL,状态和调度器特定的属性,ResourceManager将重载mapred-queues配置文件 |
-refreshNodes |
动态刷新dfs.hosts和dfs.hosts.exclude配置,无需重启NameNode。 |
-refreshUserToGroupsMappings |
刷新用户到组的映射。 |
-refreshSuperUserGroupsConfiguration |
刷新用户组的配置 |
-refreshAdminAcls |
刷新ResourceManager的ACL管理 |
-refreshServiceAcl |
ResourceManager重载服务级别的授权文件。 |
-getGroups [username] |
获取指定用户所属的组。 |
-transitionToActive [–forceactive] [–forcemanual] |
尝试将目标服务转为 Active 状态。如果使用了–forceactive选项,不需要核对非Active节点。如果采用了自动故障转移,这个命令不能使用。虽然你可以重写–forcemanual选项,你需要谨慎。 |
-transitionToStandby [–forcemanual] |
将服务转为 Standby 状态. 如果采用了自动故障转移,这个命令不能使用。虽然你可以重写–forcemanual选项,你需要谨慎。 |
-failover [–forceactive] |
启动从serviceId1 到 serviceId2的故障转移。如果使用了-forceactive选项,即使服务没有准备,也会尝试故障转移到目标服务。如果采用了自动故障转移,这个命令不能使用。 |
-getServiceState |
返回服务的状态。(注:ResourceManager不是HA的时候,时不能运行该命令的) |
-checkHealth |
请求服务器执行健康检查,如果检查失败,RMAdmin将用一个非零标示退出。(注:ResourceManager不是HA的时候,时不能运行该命令的) |
-help [cmd] |
显示指定命令的帮助,如果没有指定,则显示命令的帮助。 |
scmadmin使用: yarn scmadmin [options]
参数选项 |
描述 |
-help |
Help |
-runCleanerTask |
Runs the cleaner task |
Runs Shared Cache Manager admin client
sharedcachemanager
使用: yarn sharedcachemanager
启动Shared Cache Manager
timelineserver
之前yarn运行框架只有Job history server,这是hadoop2.4版本之后加的通用Job History Server,命令为Application Timeline Server,详情请看:The YARN Timeline Server
使用: yarn timelineserver
启动TimeLineServer