---
title: "YARNとは？Hadoopクラスタのリソース管理の仕組み【DS検定】"
description: "YARNを、HadoopクラスタのCPU・メモリを管理し、複数の処理へ実行資源を割り当てる基盤として整理します。クラスタ全体を調整するResourceManager、各ノードの資源を管理するNodeManager、アプリ単位で実行を調整するApplicationMasterの役割を押さえ、データを保存するHDFSや処理モデルのMapReduceとの違いを判断します。"
canonical_url: "https://stemtazoo.github.io/ds/yarn/"
section: "ds"
---

<div style="font-size: 14px; margin-bottom: 12px;">
  <a href="/ds/">DS検定トップ</a>
  ＞ YARNとは？Hadoopクラスタのリソース管理の仕組み【DS検定】
</div>

## まず結論

YARN（Yet Another Resource Negotiator）とは、Hadoopクラスタ全体の計算資源（CPUやメモリ）を管理し、どの処理をどのサーバーで動かすかを調整する仕組みです。

DS検定では

「HDFS＝保存」「YARN＝リソース管理」「Spark / MapReduce＝処理」

という役割の違いを理解できているかがよく問われます。



## 直感的な説明

ビッグデータの処理では、1台のコンピュータではなく

複数のサーバー（クラスタ）

を使って計算します。

しかし、そのままでは次の問題が起きます。

どのサーバーが空いているか分からない

どこで処理を実行すればいいか決められない

同時に複数の処理が走ると衝突する


そこで必要になるのが

クラスタの交通整理役です。

この役割を担うのが YARN です。

イメージとしては

> 多くのサーバーを管理する クラスタの司令塔



のような存在です。



## 定義・仕組み

YARNは

Hadoopクラスタの計算リソースを管理するシステムです。

主に次の役割があります。

① リソース管理

クラスタにある

CPU

メモリ


などの 計算資源を管理します。

例えば

Sparkの処理

MapReduceの処理


などが同時に動く場合でも

どの処理にどれだけのリソースを割り当てるか

を調整します。



② ジョブのスケジューリング

データ処理は

ジョブ（処理単位）

としてクラスタに送られます。

YARNは

空いているサーバーを探す

処理を割り当てる


という

ジョブの実行管理を行います。



③ クラスタ管理

YARNはクラスタ内の

ノードの状態

実行中の処理


を監視します。

そのため

サーバー障害

リソース不足


が発生しても処理を継続できるよう管理します。



## どんな場面で使う？

YARNは

ビッグデータ処理の計算基盤として使われます。

代表的な処理エンジンは

MapReduce

Spark


です。

これらの処理は

YARNの上で動作することが多いです。

つまり

HDFS → データ保存
YARN → リソース管理
Spark / MapReduce → データ処理

という役割分担になります。



## よくある誤解・混同

HDFSと役割が同じと思う

これはDS検定で非常に多い混同です。

技術	役割

HDFS	データ保存
YARN	リソース管理
Spark	データ処理


YARNはデータを保存しません。

ここが重要なポイントです。



YARNがデータ処理をすると思う

これも誤解です。

YARNは

処理を実行する場所を管理するだけです。

実際に計算するのは

MapReduce

Spark


などの処理エンジンです。



## まとめ（試験直前用）

YARNは Hadoopクラスタのリソース管理システム

CPUやメモリなどの 計算資源を管理する

ジョブの実行場所を決定する

データ保存は HDFS

データ処理は Spark / MapReduce


DS検定では

「保存・管理・処理の役割の違い」

を理解しておくことが重要です。



## 対応スキル項目（データエンジニアリング力シート）

スキルカテゴリ名
データ蓄積

サブカテゴリ名
分散技術

★ Hadoop・Sparkの分散技術の基本的な仕組みと構成を理解している

<hr>

<div style="margin-top: 16px;">
  🏠 <a href="/ds/">DS検定トップに戻る</a>
</div>
