読者です 読者をやめる 読者になる 読者になる

sekaie engineers' blog

セカイエ株式会社が主催するエンジニア勉強会について

爽快!分析基盤の紹介 #6 : batch の cron を azkaban に移行した話

はじめに

おはようございますこんにちはこんばんわ。

健康診断で身長が 1cm 伸びてました。佐々木です(体重は 10kg 増えてました)

今日は cron を azkaban に移行した話をしようかと思います。

今までの batch 管理

弊社の分析基盤の batch の管理は crontab で管理していました。

というのも、分析基盤が出来立てということもあって batch の数も依存も少なく crontab で特に問題がなかったからです。

しかし最近は社内利用者も増えてきて batch がコケてて、見えるべき数字が見えなかったりとか影響もそれなりに出てきたのでちゃんと batch を管理しようと思い立ったのが最近の話です。

そこでジョブ管理ツールを導入しようと試みました。

選定

ジョブ管理ツールもたくさんあるのでどのツールを使うか選ぶところから始まりました。

今回の選定基準は以下のとおりです。

  • OSS
  • ruby script が動作可能
  • 導入が楽
  • batch の依存管理
  • 長引いてたらアラート投げる
  • こけてもアラート投げる
  • Web UI がついてて誰でもやり直しが簡単にできる

インターネットで調べていたら下記の記事とかがすごくわかりやすくまとめられていたので参考にしました。

qiita.com

で、 Luigi か Azkaban の二択くらいまで絞って吟味していたんですが、以前 Azkaban をいじっていた経験があったので導入面を踏まえ Azkaban を導入することに決めました。

導入

今まで batch が動いていた AWS EC2 のサーバがあったのでそこに azkaban をインストールしました。

導入中は

  • 要件スペックのメモリが足りなかった
  • AWSのセキュリティグループのせいでアクセスできなかった

みたいなところでちょこちょこコケましたが、すんなり導入することができました。

導入後

Azkaban は WebUI も綺麗ですごく見やすいです。

f:id:sekaie:20160430172900p:plain

Job のマッピングもされて、わかりやすいです。 f:id:sekaie:20160430173646p:plain

おわりに

今回はジョブ管理ツール Azkaban を導入したはなしでした。

cron が増えて依存が管理しづらくなって導入を考えている人のためになればとおもいます。

ほな!