# YARN常用操作有哪些
YARN(Yet Another Resource Negotiator)是Hadoop的核心組件之一,負責集群資源管理和作業調度。掌握YARN的常用操作對于大數據開發者至關重要。本文將介紹YARN的核心操作,包括作業提交、資源管理、隊列配置等。
---
## 1. YARN基礎操作
### 1.1 啟動/停止YARN服務
```bash
# 啟動YARN服務
$ start-yarn.sh
# 停止YARN服務
$ stop-yarn.sh
# 查看YARN節點狀態
$ yarn node -list
# 查看集群資源使用情況
$ yarn top
$ yarn jar hadoop-mapreduce-examples.jar wordcount /input /output
# 列出所有作業
$ yarn application -list
# 查看特定作業詳情
$ yarn application -status <ApplicationID>
$ yarn application -kill <ApplicationID>
$ yarn queue -status <queue_name>
通過修改capacity-scheduler.xml
配置隊列資源:
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>default,prod,dev</value>
</property>
# 獲取容器日志
$ yarn logs -applicationId <ApplicationID>
# 查看特定容器日志
$ yarn logs -applicationId <AppID> -containerId <ContainerID>
在yarn-site.xml
中啟用:
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
# 提交作業時指定資源
$ yarn jar ... -Dmapreduce.map.memory.mb=2048 \
-Dmapreduce.reduce.memory.mb=4096
通過ResourceManager REST API動態修改:
curl -X PUT "http://rm-address:8088/ws/v1/cluster/scheduler-conf" \
-H "Content-Type: application/json" \
-d '{"update-queue-config": [{"queue":"dev","capacity":"30"}]}'
# 獲取Kerberos票據
$ kinit <username>
# 檢查票據狀態
$ klist
在yarn-site.xml
中配置:
<property>
<name>yarn.acl.enable</name>
<value>true</value>
</property>
命令 | 功能 |
---|---|
yarn rmadmin -refreshQueues |
動態刷新隊列配置 |
yarn applicationattempt -list <AppID> |
查看作業嘗試列表 |
yarn container -list <AttemptID> |
列出容器信息 |
本文涵蓋了YARN的7大類核心操作: 1. 服務啟停與狀態檢查 2. 作業生命周期管理 3. 資源隊列配置 4. 日志收集與分析 5. 資源分配與調優 6. 安全認證配置 7. 實時監控命令
熟練掌握這些操作可以顯著提升YARN集群管理效率。建議結合Web UI(http://resource-manager-host:8088)進行可視化監控。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。