最終更新日:2026年8月16日
ds data-storage data-processing
まず結論
YARN(Yet Another Resource Negotiator)とは、Hadoopクラスタ全体のCPU・メモリなどの計算資源を管理し、処理へ割り当てる仕組みです。
DS検定では、次の役割分担で切り分けると迷いにくくなります。
| 技術 | 主な役割 |
|---|---|
| HDFS | データを分散保存する |
| YARN | CPU・メモリなどのリソースを管理する |
| Spark / MapReduce | 実際のデータ処理を行う |
保存 = HDFS / 管理 = YARN / 処理 = Spark・MapReduce が基本です。
直感的な説明
複数のサーバーでビッグデータを処理すると、次のような調整が必要になります。
- どのサーバーが空いているか
- どの処理へCPUやメモリを割り当てるか
- 複数の処理が同時に走るとき、どう競合を避けるか
この「クラスタの交通整理」を担当するのがYARNです。
YARN = 計算資源の割り当てを管理する司令塔
と考えるとイメージしやすくなります。
定義・仕組み
YARNは、Hadoopクラスタで計算リソースとジョブ実行を管理する基盤です。
① リソースを管理する
クラスタ全体のCPUやメモリを把握し、処理へ割り当てます。
② ジョブを実行できる場所へ割り当てる
SparkやMapReduceなどの処理が送られると、利用可能な計算資源を確保して実行を調整します。
③ クラスタの状態を監視する
各ノードの状態や実行中の処理を監視し、クラスタ全体を管理します。
YARNを構成する代表的な役割も押さえておくと整理しやすくなります。
| 構成要素 | 役割 |
|---|---|
| ResourceManager | クラスタ全体のリソースを管理 |
| NodeManager | 各ノードのリソースや処理を管理 |
| ApplicationMaster | アプリケーション単位で実行を調整 |
どんな場面で使う?
YARNは、Hadoopクラスタ上で複数の処理を動かすときに使われます。
- MapReduceのジョブを実行する
- Sparkの処理へ計算資源を割り当てる
- 複数のジョブでCPUやメモリを共有する
重要なのは、YARN自身がデータを保存したり、分析計算そのものを行ったりするわけではないことです。
よくある誤解・混同
❌ YARNはデータを保存する
データ保存はHDFSの役割です。
❌ YARNがデータ処理を実行する
YARNは実行資源を管理します。実際の処理を担当するのはSparkやMapReduceなどです。
❌ HDFS・YARN・Sparkは同じ役割
| 問題文のキーワード | 判断 |
|---|---|
| 分散保存・ブロック・レプリケーション | HDFS |
| CPU・メモリ・資源割当て・ジョブ管理 | YARN |
| 集計・変換・計算・データ処理 | Spark / MapReduce |
まとめ(試験直前用)
- YARN = Hadoopクラスタのリソース管理
- CPU・メモリなどを処理へ割り当てる
- HDFSはデータ保存
- Spark / MapReduceはデータ処理
- 問題文に「資源割当て」「ジョブ管理」があればYARNを疑う
対応スキル項目(ver.6 データエンジニアリング)
- 分類:データエンジニアリング
- スキルカテゴリ:データ蓄積
- サブカテゴリ:分散技術
- 必須スキル:—
- ★ HadoopやSparkの分散技術の基本的な仕組みと構成を理解している
- ver.6 ★1スキルチェックで確認する