Hadoopのworkflow(JOB管理)
- Sun
- 21:17
- hadoop関連
Hadoopのワークフロー(JOB管理)はClouderaやHortonにdefaultでついてくるOozieを使うようですが、このOozieが異常に使いにくくcronで済ませてしまう場合もあります。
が、バッチジョブなどで込み入ったフローを作成しようとするとcronでは管理しきれず限界に達してしまいます。障害対応も作りこむ必要があります。
そんなこんなで、いろいろなJOB管理をまとめてみました。
ほとんど、MR(yarn)/HIVE/PigのJOBを投げることが可能であり、ローカルのコマンドを叩くことも可能。
また、Plugin拡張できるものもあり、AzkabanやAirflowはHDFS/HIVE metastoreの参照、独自のレポート機能などを持っているものもある。
が、バッチジョブなどで込み入ったフローを作成しようとすると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の参照、独自のレポート機能などを持っているものもある。
- 関連記事
Comment
Trackback
- URL
- https://nosource.blog.fc2.com/tb.php/134-32c5c0b7
- この記事にトラックバック(FC2Blog User)