Azkaban を使ってジョブの管理・実行をしてみた ~インストール編~

こんにちは、サイオステクノロジーの稲垣です。

現在、ジョブ管理ツールは数多くありますが、最近 Azkaban を触る機会があったのでこのツールの構築から使用などに関して書いていこうかなと思います。

今回は第一弾として、Azkaban の紹介からインストールして実際にサービスを起動するところまでやっていこうと思います。

Azkaban とは

Azkaban とは、Hadoop ジョブを実行するために LinkedIn 社で作成されたバッチワークフロージョブスケジューラ、いわゆるジョブ管理ツールとなります。

Hadoop ジョブを実行するためということもあり Hadoop との親和性が非常に高いですが、Hadoop を使用していない環境でもジョブ管理ツールとして使用することができます。

Google などで名前だけ検索しても某小説が大量に引っかかってしまうため、あまり認知度は高くないかもしれません…実際に、自分はやってみるまで存在を知りませんでした。

Azkaban のインストール

今回は CentOS 7.5 環境上に Azkaban をインストールします。

また、Azkaban は Web 管理画面を提供している Web サーバ部分とジョブを実行する Executor 部分、データベースである MySQL 部分を分けて構築するのが標準的な構成みたいです。

azkaban2overviewdesign
Azkaban 3.0 Documentation

ですが、今回はすべてのコンポーネントを 1 つのサーバに構築する solo server を構築しようと思います。

Azkaban をビルドする前に、まずは必要パッケージがインストールされているか確認します。
Azkaban 3 系の動作には Java 8 以上が必要になります。インストールされていない場合は、適宜インストールしてください。

$ rpm -qa | grep java
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64

この他にビルドのために開発パッケージ群が必要となるので、yum groupinstall コマンドでまとめてインストールします。

$ sudo yum groupinstall Development tools

インストールが完了したら、以下のコマンドを実行して Azkaban の github から 最新版を取得します。

$ git clone https://github.com/azkaban/azkaban.git

取得後、azkaban ディレクトリに移動してビルドし、Azkaban サービスを起動します。

また、ビルドした結果 ~/azkaban/azkaban-solo-server/build/distributions/ ディレクトリ以下に圧縮されたファイルが作成されているので、これを適当な場所に解凍して Azkaban のホームディレクトリとして使用しても問題ありせん。

$ cd azkaban
$ ./gradlew build -x test installDist
$ cd azkaban-solo-server/build/install/azkaban-solo-server/
$ bin/start-solo.sh

サービス起動コマンドを実行したら、クライアントのブラウザから以下の URL にアクセスします。

//[FQDN or IP address]:8081

ログイン画面が表示されたら、ユーザ名とパスワードを入力してログインします。
デフォルトでは、ユーザ名とパスワードともに azkaban となります。

login

以上となります。
次回は、実際にジョブを実行するところをやっていこうと思います。

それでは。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*