こんにちは、サイオステクノロジーの稲垣です。
前回は、Azkaban のインストールから起動までを行いました。
今回は第二弾として、実際に Azkaban の機能を使用してジョブを実行したりしていきたいと思います。
プロジェクトの作成
ジョブを作成する前に、Azkaban ではプロジェクトを作成する必要があります。
プロジェクトを作成し、作成したプロジェクトにジョブを登録していくようなイメージだと考えてください。
では、ログイン後の画面の右上にある「Create Project」を押し、プロジェクト作成を行います。
プロジェクト名とプロジェクトに関する説明を入力する必要があるので、適宜入力してください。
入力が完了したら「Create Project」を押し、プロジェクトの作成は完了です。
ジョブファイルの作成
Azkaban では、.job 拡張子のファイルをジョブファイルとして扱うので、.job ファイルを作成します。
今回ご案内する手順では、作成したジョブファイルは Web 管理画面を通じてアップロードするので、Azkaban が動作しているサーバ上ではなく Web 管理画面を操作するクライアント上で作成するほうがスムーズに行くと思います。
記述内容としては、以下のような感じです。
■test.job type=command command=echo "Hello World"
複数のジョブに依存関係を持たせたい場合には、ジョブファイル内に dependencies パラメータを指定します。ジョブ同士で依存関係を持つと、ジョブ A の実行に成功した場合にジョブ B を実行するというようにできます。
ここでは、先程作成した test.job ファイルと依存関係を持つ test2.job ファイルを作成します。
■test2.job type=command command=touch /tmp/success dependencies=test1
ジョブファイルを作成したら、それらのファイルを zip で圧縮します。
圧縮した zip ファイルを用意できたら、プロジェクトの作成にて作成したプロジェクトを開き、「Upload」を押して作成した zip ファイルをアップロードします。
ジョブの実行
先程までの流れでジョブの登録までは完了したので、続いては実際に登録したジョブを実行していきたいと思います。
ジョブを登録したプロジェクトを開き、「Execute Flow」を押します。
すると、Execute Flow ポップアップが表示されます。
ここでは、ジョブ実行に関するいくつかのオプションを設定することができます。
Flow View | ジョブのフロー図を表示します。 図のジョブ上で右クリックを押すことで、当該ジョブを有効にするか無効にするか選ぶことなどができます。 |
Notification | ジョブが成功・失敗した場合に E メールで通知する場合は、ここで設定を行います。 失敗の場合は、最初の失敗時もしくはフロー終了時のどちらかのタイミングで通知するよう設定できます。 |
Failure Options | 失敗時のオプションを以下の 3 種類から設定できます。
|
Concurrent | フローが既に実行されている場合の実行オプションを指定します。
|
Flow Parameters | 各ジョブのグローバルパラメータを上書きするために使用される、一時的なフローパラメータを追加します。 |
設定が完了したら、右下の「Execute」を押してジョブを実行します。
ジョブの実行に成功すると、下記画像のように SUCCEEDED と表示され、ジョブのアイコンも緑になります。
この画面では画像のようなグラフの他に、それぞれのジョブの実行時間や実行タイミング、ログなどが確認できます。
実際に、Azkaban を実行しているサーバの /tmp 以下に success ファイルが存在するか確認してみます。
$ ls /tmp/success /tmp/success
ちゃんと作成されていましたね。
以上でジョブ実行については終わりです。
次回は、ジョブをスケジューリングして自動実行するような機能をご紹介したりしていこうかなと思います。
それでは。