1. 程式人生 > >Hadoop記錄-Yarn命令

Hadoop記錄-Yarn命令

eric 獲取 lan borde psc standby group ren cls

概述

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 <comma separated list of archives> 用逗號分隔計算中未歸檔的文件。 僅僅針對JOB。
-conf <configuration file> 制定應用程序的配置文件。
-D <property>=<value> 使用給定的屬性值。
-files <comma separated list of files> 用逗號分隔的文件,拷貝到Map reduce機器,僅僅針對JOB
-jt <local> or <resourcemanager:port> 指定一個ResourceManager. 僅僅針對JOB。
-libjars <comma seperated list of jars> 將用逗號分隔的jar路徑包含到classpath中去,僅僅針對JOB。

用戶命令:

對於Hadoop集群用戶很有用的命令:

application

使用: yarn application [options]

命令選項描述
-appStates <States> 使用-list命令,基於應用程序的狀態來過濾應用程序。如果應用程序的狀態有多個,用逗號分隔。 有效的應用程序狀態包含
如下: ALL, NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED
-appTypes <Types> 使用-list命令,基於應用程序類型來過濾應用程序。如果應用程序的類型有多個,用逗號分隔。
-list 從RM返回的應用程序列表,使用-appTypes參數,支持基於應用程序類型的過濾,使用-appStates參數,支持對應用程序狀態的過濾。
-kill <ApplicationId> kill掉指定的應用程序。
-status <ApplicationId> 打印應用程序的狀態。

applicationattempt

使用: yarn applicationattempt [options]

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

classpath

使用: yarn classpath

打印需要得到Hadoop的jar和所需要的lib包路徑

container

使用: yarn container [options]

命令選項描述
-help 幫助
-list <Application Attempt Id> 應用程序嘗試的Containers列表
-status <ContainerId> 打印Container的狀態

jar

使用: yarn jar <jar> [mainClass] args...

運行jar文件,用戶可以將寫好的YARN代碼打包成jar文件,用這個命令去運行它。

logs

使用: yarn logs -applicationId <application ID> [options]

註:應用程序沒有完成,該命令是不能打印日誌的。

命令選項描述
-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參數指定)

node

使用: yarn node [options]

命令選項描述
-all 所有的節點,不管是什麽狀態的。
-list 列出所有RUNNING狀態的節點。支持-states選項過濾指定的狀態,節點的狀態包
含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED。支持--all顯示所有的節點。
-states <States> 和-list配合使用,用逗號分隔節點狀態,只顯示這些狀態的節點信息。
-status <NodeId> 打印指定節點的狀態。

queue

使用: yarn queue [options]

命令選項描述
-help 幫助
-status <QueueName> 打印隊列的狀態

打印隊列信息。

version

使用: yarn version

管理員命令:

下列這些命令對hadoop集群的管理員是非常有用的。

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>

針對指定的守護進程,獲取/設置日誌級別.

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] <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] 顯示指定命令的幫助,如果沒有指定,則顯示命令的幫助。

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

Hadoop記錄-Yarn命令