Yarn 常用命令(開發重點)
Yarn狀態的查詢,除了可以在hadoop103:8088頁面查看外,還可以通過命令操作
需求:執行WordCount案例,並用Yarn命令查看任務運行情況
//啟動集群命令
[ranan@hadoop102 ~]$ myhadoop.sh start
//執行命令,執行前打開hadoop103:8088查看任務運行情況
[ranan@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

查看任務 yarn application
列出正在執行的所有任務 yarn application -list
只會顯示正在執行的任務
[ranan@hadoop102 ~]$ yarn application -list

根據Application狀態過濾 yarn application -list -appSates 狀態
命令:yarn application -list -appSates ALL|NEW|NEW_SAVING|SUBMITTED|ACCEPTED|RUNNING(正在運行的任務)|FINISHED(結束)|FAILED|KILLED
[ranan@hadoop102 hadoop-3.1.3]$ yarn application -list -appStates FINISHED

Kill掉Application yarn application -kill 任務名
命令:yarn application -kill 任務名
[ranan@hadoop102 hadoop-3.1.3]$ yarn application -kill application_1635339568216_0002
查看日志 yarn logs
查詢Application日志 yarn logs -applicationId applicationId
命令:yarn logs -applicationId applicationId
查看運行時的日志,可以查看錯誤信息
[ranan@hadoop102 hadoop-3.1.3]$ yarn logs -applicationId application_1635339568216_0002
查看Container日志 yarn logs -applicationId applicationId -containerId containerId
命令:yarn logs -applicationId applicationId -containerId containerId
說明:查看任務下的某一個容器的運行情況
應用場景:一個Application會分成幾個Task執行,每個task外面都包裹了一次container,當任務發生異常時通過查看cantainer的日志分析該task的是否異常。
[ranan@hadoop102 hadoop-3.1.3]$ yarn logs -applicationId application_1635339568216_0002 -containerId container_1635339568216_0002_01_000001
查看嘗試運行的任務 yarn applicationattempt
嘗試:任務正在運行時的狀態
列出所有嘗試運行的Application列表 yarn applicationattempt -list ApplicationId
命令: yarn applicationattempt -list ApplicationId
說明:任務在運行時的狀態
[ranan@hadoop102 hadoop-3.1.3]$yarn applicationattempt -list application_1635339568216_0002

打印 ApplicationAttemp 狀態 yarn applicationattempt -status ApplicationAttemptId
執行命令的時刻處於什么狀態
命令:yarn applicationattempt -status ApplicationAttemptId
[ranan@hadoop102 hadoop-3.1.3]$ yarn applicationattempt -status appattempt_1635339568216_0002_000001

查看容器 yarn container
只有在任務運行的途中才能看到container的狀態
列出所有的容器 yarn container -list ApplicationAttemptId
命令:yarn container -list ApplicationAttemptId
說明:當前時刻有多少container容器,容器只能在運行時查看到,運行完畢就釋放。常用於異常情況時查看。
[ranan@hadoop102 hadoop-3.1.3]$ yarn container -list appattempt_1635339568216_0002_000001
打印Container狀態 yarn container -status ContainerId
命令:yarn container -status container_1635339568216_0002_01_000001
查看節點狀態 yarn node
列出所有節點 yarn node -list -all
命令:yarn node -list -all
說明:查看nodeManager的狀態
[ranan@hadoop102 hadoop-3.1.3]$yarn node -list -all

更新配置 yarn rmadmin
刷新隊列配置 yarn rmadmin -refreshOueues
命令:yarn rmadmin -refreshOueues
查看隊列 yarn queue
容量調度器和公平調度器都有默認隊列default
打印隊列信息 yarn queue -status QueueName

