hadoop之yarn詳解(命令篇)

本篇主要對yarn命令進行闡述html

1、yarn命令概述

[root@lgh ~]# yarn -help 
Usage: yarn [--config confdir] COMMAND
where COMMAND is one of:
  resourcemanager -format-state-store   deletes the RMStateStore
  resourcemanager                       run the ResourceManager
                                        Use -format-state-store for deleting the RMStateStore.
                                        Use -remove-application-from-state-store <appId> for 
                                            removing application from RMStateStore.
  nodemanager                           run a nodemanager on each slave
  timelineserver                        run the timeline server
  rmadmin                               admin tools
  version                               print the version
  jar <jar>                             run a jar file
  application                           prints application(s)
                                        report/kill application
  applicationattempt                    prints applicationattempt(s)
                                        report
  container                             prints container(s) report
  node                                  prints node report(s)
  queue                                 prints queue information
  logs                                  dump container logs
  classpath                             prints the class path needed to
                                        get the Hadoop jar and the
                                        required libraries
  daemonlog                             get/set the log level for each
                                        daemon
  top                                   run cluster usage tool
 or
  CLASSNAME                             run the class named CLASSNAME

使用語法:node

yarn [--config confdir] COMMAND [--loglevel loglevel] [GENERIC_OPTIONS] [COMMAND_OPTIONS]web

--config confdir        #覆蓋默認的配置目錄,默認爲${HADOOP_PREFIX}/conf.
--loglevel loglevel     #覆蓋日誌級別。有效的日誌級別爲FATAL,ERROR,WARN,INFO,DEBUG和TRACE。默認值爲INFO。
GENERIC_OPTIONS         #多個命令支持的一組通用選項
COMMAND COMMAND_OPTIONS #如下各節介紹了各類命令及其選項

2、命令詳解

2.一、application

使用語法:yarn  application [options] #打印報告,申請和殺死任務sql

-appStates <States>         #與-list一塊兒使用,可根據輸入的逗號分隔的應用程序狀態列表來過濾應用程序。有效的應用程序狀態能夠是如下之一:ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,FINISHED,FAILED,KILLED
-appTypes <Types>           #與-list一塊兒使用,能夠根據輸入的逗號分隔的應用程序類型列表來過濾應用程序。
-list                       #列出RM中的應用程序。支持使用-appTypes來根據應用程序類型過濾應用程序,並支持使用-appStates來根據應用程序狀態過濾應用程序。
-kill <ApplicationId>       #終止應用程序。
-status <ApplicationId>     #打印應用程序的狀態。

2.二、applicationattempt

使用語法:yarn applicationattempt [options] #打印應用程序嘗試的報告apache

-help                    #幫助
-list <ApplicationId>    #獲取到應用程序嘗試的列表,其返回值ApplicationAttempt-Id 等於 <Application Attempt Id>
-status <Application Attempt Id>    #打印應用程序嘗試的狀態。

2.三、classpath

使用語法:yarn classpath #打印須要獲得Hadoop的jar和所須要的lib包路徑緩存

2.四、container

使用語法:yarn container [options] #打印container(s)的報告服務器

-help                            #幫助
-list <Application Attempt Id>   #應用程序嘗試的Containers列表
-status <ContainerId>            #打印Container的狀態

2.五、jar

使用語法:yarn jar <jar> [mainClass] args... #運行jar文件,用戶能夠將寫好的YARN代碼打包成jar文件,用這個命令去運行它。app

2.六、logs

使用語法:yarn logs -applicationId <application ID> [options] #轉存container的日誌。webapp

-applicationId <application ID>    #指定應用程序ID,應用程序的ID能夠在yarn.resourcemanager.webapp.address配置的路徑查看(即:ID)
-appOwner <AppOwner>               #應用的全部者(若是沒有指定就是當前用戶)應用程序的ID能夠在yarn.resourcemanager.webapp.address配置的路徑查看(即:User)
-containerId <ContainerId>         #Container Id
-help                              #幫助
-nodeAddress <NodeAddress>         #節點地址的格式:nodename:port (端口是配置文件中:yarn.nodemanager.webapp.address參數指定)

2.七、node

使用語法:yarn node [options] #打印節點報告oop

-all             #全部的節點,無論是什麼狀態的。
-list             #列出全部RUNNING狀態的節點。支持-states選項過濾指定的狀態,節點的狀態包含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED。支持--all顯示全部的節點。
-states <States> #和-list配合使用,用逗號分隔節點狀態,只顯示這些狀態的節點信息。
-status <NodeId> #打印指定節點的狀態。

2.八、queue

使用語法:yarn queue [options] #打印隊列信息

-help     #幫助
-status  #<QueueName>    打印隊列的狀態

2.九、daemonlog

使用語法:

yarn daemonlog -getlevel <host:httpport> <classname>
yarn daemonlog -setlevel <host:httpport> <classname> <level>

-getlevel <host:httpport> <classname>            #打印運行在<host:port>的守護進程的日誌級別。這個命令內部會鏈接http://<host:port>/logLevel?log=<name>
-setlevel <host:httpport> <classname> <level>    #設置運行在<host:port>的守護進程的日誌級別。這個命令內部會鏈接http://<host:port>/logLevel?log=<name>

2.十、nodemanager

使用語法:yarn nodemanager #啓動nodemanager

2.十一、proxyserver

使用語法:yarn proxyserver #啓動web proxy server

2.十二、resourcemanager

使用語法:yarn resourcemanager [-format-state-store] #啓動ResourceManager

-format-state-store     # RMStateStore的格式. 若是過去的應用程序再也不須要,則清理RMStateStore, RMStateStore僅僅在ResourceManager沒有運行的時候,才運行RMStateStore

2.1三、rmadmin

使用語法: #運行Resourcemanager管理客戶端

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     #動態刷新dfs.hosts和dfs.hosts.exclude配置,無需重啓NameNode。
                  #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] <serviceId>    #嘗試將目標服務轉爲 Active 狀態。若是使用了–forceactive選項,不須要覈對非Active節點。若是採用了自動故障轉移,這個命令不能使用。雖然你能夠重寫–forcemanual選項,你須要謹慎。
-transitionToStandby [–forcemanual] <serviceId>                  #將服務轉爲 Standby 狀態. 若是採用了自動故障轉移,這個命令不能使用。雖然你能夠重寫–forcemanual選項,你須要謹慎。
-failover [–forceactive] <serviceId1> <serviceId2>  #啓動從serviceId1 到 serviceId2的故障轉移。若是使用了-forceactive選項,即便服務沒有準備,也會嘗試故障轉移到目標服務。若是採用了自動故障轉移,這個命令不能使用。
-getServiceState <serviceId>                        #返回服務的狀態。(注:ResourceManager不是HA的時候,時不能運行該命令的)
-checkHealth <serviceId>                            #請求服務器執行健康檢查,若是檢查失敗,RMAdmin將用一個非零標示退出。(注:ResourceManager不是HA的時候,時不能運行該命令的)
-help [cmd]                                         #顯示指定命令的幫助,若是沒有指定,則顯示命令的幫助。

2.1四、scmadmin

使用語法:yarn scmadmin [options]  #運行共享緩存管理客戶端

-help            #查看幫助
-runCleanerTask    #運行清理任務

2.1五、 sharedcachemanager

使用語法:yarn sharedcachemanager #啓動共享緩存管理器

2.1六、timelineserver

使用語法:yarn timelineserver   #啓動timelineserver

 

更多hadoop生態文章見: hadoop生態系列

 

參考:
https://hadoop.apache.org/docs/r2.7.7/hadoop-yarn/hadoop-yarn-site/YarnCommands.html

相關文章
相關標籤/搜索