ds data-storage data-processing
まず結論
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の分散技術の基本的な仕組みと構成を理解している
🔗 関連記事
- バッチ処理とストリーム処理の違いとは?【DS検定リテラシー】
- データレイクとは?(DWHとの違いも整理)【DS検定リテラシー】
- データトランスフォーメーションとは?(非構造化データの変換)【DS検定】
- データウェアハウス(DWH)とは?データマートとの違いを理解する【DS検定】
- データウェアハウス(DWH)とは?(データレイクとの違いも整理)【DS検定リテラシー】