Yarn的幾個常用命令
Yarn是一個資源管理器和任務(wù)調(diào)度器,如果你的大數(shù)據(jù)集群是用的Yarn來管理的,那下面有幾個比較常用的命令。
查看任務(wù)列表
yarn application -list
該命令是查看在所有Yarn上運行的任務(wù)信息,一般包括:Application-Id、Application-Name、Application-Type、User、Queue、State、Final-State、Progress、Tracking-URL
通常這個命令并會會單獨用,因為一般大數(shù)據(jù)集群每時每刻都會用很多任務(wù)在運行,查看全部任務(wù)信息也看不過來,都是搭配其他Linux命令使用,下面介紹一個常用的搭配命令awk
yarn application -list | awk '{print $2}' | grep Application-Name
命令功能:查看在Yarn上運行的所有任務(wù)名。
awk
是一個很強大的文本工具,可用于處理文本文件和生成報告,具體命令使用可以通過awk -help
查看。通過yarn?application -list
命令可以查看到Y(jié)arn上運行的所有任務(wù)信息,再將這個信息傳遞給awk
命令輸出第二列數(shù)據(jù),grep
后面的參數(shù)起篩選作用(可以模糊匹配)
kill掉Yarn上的程序
yarn application -kill <application_id>
如果我們想批量kill掉任務(wù),這里不僅要借助awk
命令,還要用到xargs
命令
yarn application -list | grep Application-Name | awk '{print $1}' | xargs -i yarn application -kill {}
命令功能:批量kill掉yarn上包含Application-Name信息的任務(wù)。
通過grep
篩選出對應(yīng)的任務(wù)名信息,通過awk
獲取application_id數(shù)據(jù),并將數(shù)據(jù)傳遞給xargs
命令。
xargs
命令可以將標(biāo)準(zhǔn)輸入的數(shù)據(jù)轉(zhuǎn)換為命令行參數(shù),并傳遞給指定的命令。-i
是xargs
命令的一個參數(shù),意思就是接收輸入的數(shù)據(jù),并將這個數(shù)據(jù)傳遞給后面的參數(shù)命令{}
。具體命令查看xargs -help
查看Yarn運行任務(wù)的log
yarn -logs -applicationId <application_id>
每當(dāng)我們在Linux測試任務(wù),提交任務(wù)到Y(jié)arn,這個命令是必備的了。通常也會搭配一些基礎(chǔ)的Linux命令使用。
yarn -logs -applicationId <application_id> | less
less
命令就是一個文本查看器了,非常方便,它可以通過空格、n、N、上下左右鍵來實現(xiàn)頁面內(nèi)容的滾動,當(dāng)然也可以搭配其他命令來使用,more
效果是一樣的。
查看Yarn資源
yarn top
顯示正在Yarn群集上運行的各個應(yīng)用程序的資源使用情況,包括:APPLICATIONID、USER、TYPE、QUEUE、PRIOR、#CONT、#RCONT 、VCORES、RVCORES、MEM、RMEM、VCORESECS、MEMSECS、%PROGR、TIME、NAME
TYPE:正在運行的應(yīng)用程序的類型(例如,MAPREDUCE、MOBIGEN等)
QUEUE:應(yīng)用程序所在的 YARN 隊列的名稱。
PRIOR:應(yīng)用程序當(dāng)前的優(yōu)先級。
#CONT:應(yīng)用程序已啟動的容器數(shù)量。
#RCONT:應(yīng)用程序在節(jié)點上的待啟動容器數(shù)量。
VCORES:應(yīng)用程序當(dāng)前已分配的虛擬內(nèi)核數(shù)量。
RVCORES:應(yīng)用程序在節(jié)點上的待分配虛擬內(nèi)核數(shù)量。
MEM:應(yīng)用程序當(dāng)前已分配的內(nèi)存大小。
RMEM:應(yīng)用程序在節(jié)點上的待分配內(nèi)存大小。
VCORESECS:應(yīng)用程序已使用的CPU時間。
MEMSECS:應(yīng)用程序已使用的內(nèi)存時間。
%PROGR:應(yīng)用程序當(dāng)前的進度百分比。
TIME:應(yīng)用程序的運行時間。
通過這個命令可以更好的了解正在運行的應(yīng)用程序的資源占用情況,以及應(yīng)用程序當(dāng)前所處的狀態(tài)和需要采取的優(yōu)化措施,但是我用的最多的就是單敲個top
命令,掛著Linux,防止屏幕太久沒動,導(dǎo)致終端退出。
查看某個節(jié)點的狀態(tài)
yarn node -status <namenode>
查看某臺namenode
節(jié)點的狀態(tài)情況,這個很少用到,說這個只是為了知道,可以通過node
達到控制單臺節(jié)點的操作。
以上就是我目前在工作中會經(jīng)常接觸到的Yarn命令使用方法啦§( ̄▽ ̄)§
原文鏈接:https://www.dianjilingqu.com/759210.html