hadoop之yarn详解(命令篇)
本篇主要對(duì)yarn命令進(jìn)行闡述
一、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
使用語法:
yarn [--config confdir] COMMAND [--loglevel loglevel] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
--config confdir #覆蓋默認(rèn)的配置目錄,默認(rèn)為${HADOOP_PREFIX}/conf.
--loglevel loglevel #覆蓋日志級(jí)別。有效的日志級(jí)別為FATAL,ERROR,WARN,INFO,DEBUG和TRACE。默認(rèn)值為INFO。
GENERIC_OPTIONS #多個(gè)命令支持的一組通用選項(xiàng)
COMMAND COMMAND_OPTIONS #以下各節(jié)介紹了各種命令及其選項(xiàng)
二、命令詳解
2.1、application
使用語法:yarn application [options] #打印報(bào)告,申請(qǐng)和殺死任務(wù)
-appStates <States> #與-list一起使用,可根據(jù)輸入的逗號(hào)分隔的應(yīng)用程序狀態(tài)列表來過濾應(yīng)用程序。有效的應(yīng)用程序狀態(tài)可以是以下之一:ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,F(xiàn)INISHED,F(xiàn)AILED,KILLED -appTypes <Types> #與-list一起使用,可以根據(jù)輸入的逗號(hào)分隔的應(yīng)用程序類型列表來過濾應(yīng)用程序。 -list #列出RM中的應(yīng)用程序。支持使用-appTypes來根據(jù)應(yīng)用程序類型過濾應(yīng)用程序,并支持使用-appStates來根據(jù)應(yīng)用程序狀態(tài)過濾應(yīng)用程序。 -kill <ApplicationId> #終止應(yīng)用程序。 -status <ApplicationId> #打印應(yīng)用程序的狀態(tài)。
2.2、applicationattempt
使用語法:yarn applicationattempt [options] #打印應(yīng)用程序嘗試的報(bào)告
-help #幫助 -list <ApplicationId> #獲取到應(yīng)用程序嘗試的列表,其返回值A(chǔ)pplicationAttempt-Id 等于 <Application Attempt Id> -status <Application Attempt Id> #打印應(yīng)用程序嘗試的狀態(tài)。
2.3、classpath
使用語法:yarn classpath #打印需要得到Hadoop的jar和所需要的lib包路徑
2.4、container
使用語法:yarn container [options] #打印container(s)的報(bào)告
-help #幫助 -list <Application Attempt Id> #應(yīng)用程序嘗試的Containers列表 -status <ContainerId> #打印Container的狀態(tài)
2.5、jar
使用語法:yarn jar <jar> [mainClass] args... #運(yùn)行jar文件,用戶可以將寫好的YARN代碼打包成jar文件,用這個(gè)命令去運(yùn)行它。
2.6、logs
使用語法:yarn logs -applicationId <application ID> [options] #轉(zhuǎn)存container的日志。
-applicationId <application ID> #指定應(yīng)用程序ID,應(yīng)用程序的ID可以在yarn.resourcemanager.webapp.address配置的路徑查看(即:ID) -appOwner <AppOwner> #應(yīng)用的所有者(如果沒有指定就是當(dāng)前用戶)應(yīng)用程序的ID可以在yarn.resourcemanager.webapp.address配置的路徑查看(即:User) -containerId <ContainerId> #Container Id -help #幫助 -nodeAddress <NodeAddress> #節(jié)點(diǎn)地址的格式:nodename:port (端口是配置文件中:yarn.nodemanager.webapp.address參數(shù)指定)
2.7、node
使用語法:yarn node [options] #打印節(jié)點(diǎn)報(bào)告
-all #所有的節(jié)點(diǎn),不管是什么狀態(tài)的。 -list #列出所有RUNNING狀態(tài)的節(jié)點(diǎn)。支持-states選項(xiàng)過濾指定的狀態(tài),節(jié)點(diǎn)的狀態(tài)包含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED。支持--all顯示所有的節(jié)點(diǎn)。 -states <States> #和-list配合使用,用逗號(hào)分隔節(jié)點(diǎn)狀態(tài),只顯示這些狀態(tài)的節(jié)點(diǎn)信息。 -status <NodeId> #打印指定節(jié)點(diǎn)的狀態(tài)。
2.8、queue
使用語法:yarn queue [options] #打印隊(duì)列信息
-help #幫助 -status #<QueueName> 打印隊(duì)列的狀態(tài)
2.9、daemonlog
使用語法:
yarn daemonlog -getlevel <host:httpport> <classname>
yarn daemonlog -setlevel <host:httpport> <classname> <level>
-getlevel <host:httpport> <classname> #打印運(yùn)行在<host:port>的守護(hù)進(jìn)程的日志級(jí)別。這個(gè)命令內(nèi)部會(huì)連接http://<host:port>/logLevel?log=<name> -setlevel <host:httpport> <classname> <level> #設(shè)置運(yùn)行在<host:port>的守護(hù)進(jìn)程的日志級(jí)別。這個(gè)命令內(nèi)部會(huì)連接http://<host:port>/logLevel?log=<name>
2.10、nodemanager
使用語法:yarn nodemanager #啟動(dòng)nodemanager
2.11、proxyserver
使用語法:yarn proxyserver #啟動(dòng)web proxy server
2.12、resourcemanager
使用語法:yarn resourcemanager [-format-state-store] #啟動(dòng)ResourceManager
-format-state-store # RMStateStore的格式. 如果過去的應(yīng)用程序不再需要,則清理RMStateStore, RMStateStore僅僅在ResourceManager沒有運(yùn)行的時(shí)候,才運(yùn)行RMStateStore
2.13、rmadmin
使用語法:#運(yùn)行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 #重載隊(duì)列的ACL,狀態(tài)和調(diào)度器特定的屬性,ResourceManager將重載mapred-queues配置文件
-refreshNodes #動(dòng)態(tài)刷新dfs.hosts和dfs.hosts.exclude配置,無需重啟NameNode。
#dfs.hosts:列出了允許連入NameNode的datanode清單(IP或者機(jī)器名)
#dfs.hosts.exclude:列出了禁止連入NameNode的datanode清單(IP或者機(jī)器名)
#重新讀取hosts和exclude文件,更新允許連到Namenode的或那些需要退出或入編的Datanode的集合。
-refreshUserToGroupsMappings #刷新用戶到組的映射。
-refreshSuperUserGroupsConfiguration #刷新用戶組的配置
-refreshAdminAcls #刷新ResourceManager的ACL管理
-refreshServiceAcl #ResourceManager重載服務(wù)級(jí)別的授權(quán)文件。
-getGroups [username] #獲取指定用戶所屬的組。
-transitionToActive [–forceactive] [–forcemanual] <serviceId> #嘗試將目標(biāo)服務(wù)轉(zhuǎn)為 Active 狀態(tài)。如果使用了–forceactive選項(xiàng),不需要核對(duì)非Active節(jié)點(diǎn)。如果采用了自動(dòng)故障轉(zhuǎn)移,這個(gè)命令不能使用。雖然你可以重寫–forcemanual選項(xiàng),你需要謹(jǐn)慎。
-transitionToStandby [–forcemanual] <serviceId> #將服務(wù)轉(zhuǎn)為 Standby 狀態(tài). 如果采用了自動(dòng)故障轉(zhuǎn)移,這個(gè)命令不能使用。雖然你可以重寫–forcemanual選項(xiàng),你需要謹(jǐn)慎。
-failover [–forceactive] <serviceId1> <serviceId2> #啟動(dòng)從serviceId1 到 serviceId2的故障轉(zhuǎn)移。如果使用了-forceactive選項(xiàng),即使服務(wù)沒有準(zhǔn)備,也會(huì)嘗試故障轉(zhuǎn)移到目標(biāo)服務(wù)。如果采用了自動(dòng)故障轉(zhuǎn)移,這個(gè)命令不能使用。
-getServiceState <serviceId> #返回服務(wù)的狀態(tài)。(注:ResourceManager不是HA的時(shí)候,時(shí)不能運(yùn)行該命令的)
-checkHealth <serviceId> #請(qǐng)求服務(wù)器執(zhí)行健康檢查,如果檢查失敗,RMAdmin將用一個(gè)非零標(biāo)示退出。(注:ResourceManager不是HA的時(shí)候,時(shí)不能運(yùn)行該命令的)
-help [cmd] #顯示指定命令的幫助,如果沒有指定,則顯示命令的幫助。
2.14、scmadmin
使用語法:yarn scmadmin [options] #運(yùn)行共享緩存管理客戶端
-help #查看幫助 -runCleanerTask #運(yùn)行清理任務(wù)
2.15、sharedcachemanager
使用語法:yarn sharedcachemanager #啟動(dòng)共享緩存管理器
2.16、timelineserver
使用語法:yarn timelineserver #啟動(dòng)timelineserver
更多hadoop生態(tài)文章見:hadoop生態(tài)系列
參考:
https://hadoop.apache.org/docs/r2.7.7/hadoop-yarn/hadoop-yarn-site/YarnCommands.html
總結(jié)
以上是生活随笔為你收集整理的hadoop之yarn详解(命令篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信公众号推广的十个技巧
- 下一篇: unix中的rm,rmdir的使用