ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Hadoop0.23 YARNの最小限サンプルを書いてみた

2011-11-22 23:25:48 | PG(分散処理)

Hadoop0.23.0が出たので、噂のMapReduce2.0であるYARNの最小限サンプルを書いてみた。

いやー、しかしYARNを甘く見てた^^;
YARNはもうMapReduceとは(直接は)関係ないので、MapReduce2.0とは呼ばない方がいいね。

従来のHadoopなら、「MapReduceのプログラムを書くよ」と言ったら、MapperやReducerを実装するのをイメージすると思う。
そして、JobTrackerやTaskTrackerが自動的にタスク分割して実行してくれる。障害が発生したら別ノードで再実行してくれるし。

しかし「YARNのプログラムを書くよ」というのは、JobTrackerやTaskTrackerや障害対応をコーディングする事に相当する!
今回作ってみたのが“最小限”サンプルなのも、JobTracker相当(ApplicationMaster)の実行までしか出来ず、TaskTracker相当(Container)まで辿り着けなかったからだし(爆)
まぁそこまででもコーディングしてみたことによって、アプリケーションの実行方法は理解できたけど。

タスク分割や障害対応を自前でコーディングしなければならないとすると、じゃあHadoopさんは何をやってくれるのかという話になるが。
リソースの空き状態に応じてどのノードで実行するかを決めるのと、そのノード上でのアプリケーションの起動まではやってくれる。また、進捗状況の通知・監視の仕組みは用意されている。
okachimachiorzさんが分散リソース管理OSと言っていたのはこういう意味だったんだなぁと実感。

今までのHadoopでも、直接MapReduceをプログラミングするのは大変なのでラッパーのツールを使おうという流れだったけど、YARNはなおさら普通の人がコーディングするものじゃないなぁ。
これはまさしく分散フレームワークを作る人向け。MapReduce以外のアルゴリズムでも何でも対応できるのは確かなので、色々なアルゴリズムのYARNラッパー(フレームワーク)が作られることになると思う。
普通の人は、自分がやりたい処理に一番向いているフレームワークを選択して、(今までのMapReduceの様に)部分的なプログラミングをするだけになる…かな?


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« コメント不要論の補足 | トップ | Hadoop0.23 YARN コンテナー... »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事