2.png


这些命令中,jar、applocation、node、logs、calsspath、和version是常用的用户命令,而resourcemanager、nodemanager、proxyserver、rmadmin和daemonlog是较为常用的管理类命令


application命令:

用来管理yarn集群中的作业的


查看作业

[hadoop@node1 ~]$ yarn application -list
18/03/27 17:49:41 INFO client.RMProxy: Connecting to ResourceManager at master/172.16.2.3:8032
Total number of applications (application-types: [] and states: [SUBMITTED, ACCEPTED, RUNNING]):0
                Application-Id      Application-Name        Application-Type          User           Queue                   State             Final-State          Progress                         Tracking-URL


node:查看datanode节点信息

[hadoop@node1 ~]$ yarn node --list

18/03/27 17:55:12 INFO client.RMProxy: Connecting to ResourceManager at master/172.16.2.3:8032

Total Nodes:3

         Node-Id             Node-State Node-Http-Address       Number-of-Running-Containers

node3.hadooptest.com:56712              RUNNING node3.hadooptest.com:8042                                  0

node2.hadooptest.com:55089              RUNNING node2.hadooptest.com:8042                                  0

node4.hadooptest.com:56630              RUNNING node4.hadooptest.com:8042                                  0


只查看RUNNING状态的节点

[hadoop@node1 ~]$ yarn node -list -states RUNNING
18/03/27 17:58:31 INFO client.RMProxy: Connecting to ResourceManager at master/172.16.2.3:8032
Total Nodes:3
         Node-Id             Node-State Node-Http-Address       Number-of-Running-Containers
node3.hadooptest.com:56712              RUNNING node3.hadooptest.com:8042                                  0
node2.hadooptest.com:55089              RUNNING node2.hadooptest.com:8042                                  0
node4.hadooptest.com:56630              RUNNING node4.hadooptest.com:8042                                  0


查看某一节点的状态

[hadoop@node1 ~]$ yarn node -status node3.hadooptest.com:56712  
18/03/27 18:00:10 INFO client.RMProxy: Connecting to ResourceManager at master/172.16.2.3:8032
Node Report : 
        Node-Id : node3.hadooptest.com:56712
        Rack : /default-rack
        Node-State : RUNNING
        Node-Http-Address : node3.hadooptest.com:8042
        Last-Health-Update : Tue 27/Mar/18 05:59:22:318CST
        Health-Report : 
        Containers : 0
        Memory-Used : 0MB
        Memory-Capacity : 8192MB
        CPU-Used : 0 vcores
        CPU-Capacity : 8 vcores
        Node-Labels :


logs:

用于从已经完成的YARN应用程序(即状态为FAILED、KILLED或者FINISHED)上获取日志信息。不过,如果需要通过命令行查看日志,

需要为YARN集群启用log-aggregation属性,在yarn-site.xml配置文件中定义yarn.log-aggregation-enable属性的值为true即可。命令的简要用法格式如下


yarn logs -applicationID <application ID> <options>


常用选项:

-applicationID applicationID:必备选项,用于从ResourceManager获取其详细信息;

-appOwner AppOwner: 可选选项,默认为当前用户

        -nodeAddress NodeAddress -containerId containerID:用于获取指定节点上指定容器的相关信息,其中NodeAddress的格式同NodeId


image.png



rmadmin

-help: 获取命令帮助

-refreshNode: 为RM刷新主机信息,它通过读取RM节点的include和exclude文件来更新集群需要包含或者排除的节点列表

-refreshUserToGroupsMappings: 根据配置的Hadoop安全组映射,通过刷新组缓存中的信息来更新用户和组之间的映射关系

-refreshSuperUserGroupsConfiguration: 刷新超级用户代理组映射,以及更新代理主机和core-site.xml配置文件中hadoop.proxyuser属性定义的代理组

-refreshAdminAcls:根据yarn站点配置文件或默认配置文件中的yarn.admin.acl属性刷新RM的管理ACL


[hadoop@node1 ~]$ yarn rmadmin -refreshNodes 
18/03/27 18:22:43 INFO client.RMProxy: Connecting to ResourceManager at master/172.16.2.3:8033
[hadoop@node1 ~]$

refresh命令要慎用,影响很大



DaemonLog

用于查看或者更新RM以及NM守护进程的日志级别,它会在检查管理权限通过后在内部直接连接至“http://host:port/logLevel?log=name service”。

常用选项:

-getLevel host:port name:显示指定守护进程的日志级别

-setLevel host:port name level:设置守护进程的日志级别