本篇主要對yarn命令進行闡述html
[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 #如下各節介紹了各類命令及其選項
使用語法: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> #打印應用程序的狀態。
使用語法:yarn applicationattempt [options] #打印應用程序嘗試的報告apache
-help #幫助
-list <ApplicationId> #獲取到應用程序嘗試的列表,其返回值ApplicationAttempt-Id 等於 <Application Attempt Id>
-status <Application Attempt Id> #打印應用程序嘗試的狀態。
使用語法:yarn classpath #打印須要獲得Hadoop的jar和所須要的lib包路徑緩存
使用語法:yarn container [options] #打印container(s)的報告服務器
-help #幫助 -list <Application Attempt Id> #應用程序嘗試的Containers列表 -status <ContainerId> #打印Container的狀態
使用語法:yarn jar <jar> [mainClass] args... #運行jar文件,用戶能夠將寫好的YARN代碼打包成jar文件,用這個命令去運行它。app
使用語法: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參數指定)
使用語法:yarn node [options] #打印節點報告oop
-all #全部的節點,無論是什麼狀態的。 -list #列出全部RUNNING狀態的節點。支持-states選項過濾指定的狀態,節點的狀態包含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED。支持--all顯示全部的節點。 -states <States> #和-list配合使用,用逗號分隔節點狀態,只顯示這些狀態的節點信息。 -status <NodeId> #打印指定節點的狀態。
使用語法:yarn queue [options] #打印隊列信息
-help #幫助
-status #<QueueName> 打印隊列的狀態
使用語法:
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>
使用語法:yarn nodemanager #啓動nodemanager
使用語法:yarn proxyserver #啓動web proxy server
使用語法:yarn resourcemanager [-format-state-store] #啓動ResourceManager
-format-state-store # RMStateStore的格式. 若是過去的應用程序再也不須要,則清理RMStateStore, RMStateStore僅僅在ResourceManager沒有運行的時候,才運行RMStateStore
使用語法: #運行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] #顯示指定命令的幫助,若是沒有指定,則顯示命令的幫助。
使用語法:yarn scmadmin [options] #運行共享緩存管理客戶端
-help #查看幫助
-runCleanerTask #運行清理任務
使用語法:yarn sharedcachemanager #啓動共享緩存管理器
使用語法:yarn timelineserver #啓動timelineserver
更多hadoop生態文章見: hadoop生態系列
參考:
https://hadoop.apache.org/docs/r2.7.7/hadoop-yarn/hadoop-yarn-site/YarnCommands.html