Hadoopのworkflow(JOB管理)

Hadoopのワークフロー(JOB管理)はClouderaやHortonにdefaultでついてくるOozieを使うようですが、このOozieが異常に使いにくくcronで済ませてしまう場合もあります。
が、バッチジョブなどで込み入ったフローを作成しようとするとcronでは管理しきれず限界に達してしまいます。障害対応も作りこむ必要があります。

そんなこんなで、いろいろなJOB管理をまとめてみました。

workflow 説明
Oozie http://oozie.apache.org/
米Yahooで開発されたJavaで書かれたJOB管理ツール。使い難さ(?)で定評あり。xmlでJOBを定義していく。UTC固定のため日本時間の場合は+9時間する
Falcon http://falcon.apache.org/
使い難いOozieを何とかしようと開発されたFalcon。というのは冗談で、複数Oozieコーディネータの統合管理が可能。しかし中身はOozieのため結局使い難い
Azkaban http://azkaban.github.io/azkaban/docs/latest/
LinkedInにて開発されているJavaで書かれたJOB管理。恐らく一番使いやすいと思われる。設定は独自のKey/Value構文で書くが理解しやすい。OozieとマージしてOozkabanと呼ばれるものもあるらしい(詳細不明)
Luigi https://github.com/spotify/luigi/
Spotifyで開発されており、Python、shで書かれている。Yahoo(恐らくアメリカ)でも利用されている。設定はMySQL等のconfigファイルちっくな構成で作成する
Airflow https://github.com/airbnb/airflow/
最近話題のAirBnBで開発されており、Pythonで書かれている。kerberosにも対応済み。
Pinball https://github.com/pinterest/pinball
Pinterestで開発されており、Python/JavaScriptで書かれている。BUILDするためにはnpmコマンドが必要なためNode.js等の環境が必要になる。JOBはyamlで設定する

ほとんど、MR(yarn)/HIVE/PigのJOBを投げることが可能であり、ローカルのコマンドを叩くことも可能。
また、Plugin拡張できるものもあり、AzkabanやAirflowはHDFS/HIVE metastoreの参照、独自のレポート機能などを持っているものもある。

カテゴリ

Amazon

アクセスランキング

[ジャンルランキング]
コンピュータ
249位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
38位
アクセスランキングを見る>>

RSSリンクの表示

ブロとも申請フォーム

Copyright © nopgm