开源是一种精神,分享是一种美德!

yarn

相关命令:暂无相关命令

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 or 指定一个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 打印运行在的守护进程的指定类的日志级别,这个命令内部会连接http:///logLevel?log=
-setlevel 设置运行在的守护进程的指定类的日志级别,这个命令内部会连接http:///logLevel?log=

举例:

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:列出了允许连入NameNodedatanode清单(IP
或者机器名);
dfs.hosts.exclude:列出了禁止连入NameNodedatanode清单(IP或者机器名);
重新读取
hostsexclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。
-refreshUserToGroupsMappings刷新用户到组的映射。
-refreshSuperUserGroupsConfiguration刷新用户组的配置
-refreshAdminAcls刷新ResourceManager的ACL管理
-refreshServiceAclResourceManager重载服务级别的授权文件。
-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]

参数:

-helpHelp
-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)

暂无评论

评论

名字:
验证码:
获取验证码
内容: