エンタープライズでも十分に利用可能なジョブ管理ツールをご紹介します。
企業向けの業務システムを運用する上で様々な種類のジョブを管理する必要があります。簡単なジョブ — 例えば、夜間にバックアップ処理を実行する。—は cron で実行している方は多いと思います。エンタープライズでは、ジョブ同士に関連・優先度・場合分け等の複雑な要件があり、その管理にジョブ管理ツールが利用されます。
有名なパッケージとして日立の「JP1」、IBMのTivoli等の商用ツールがあります。
オープンソースで有名なジョブ管理ツールは「JobScheduler」です。ドイツの企業が主体となって開発が進められており、ヨーロッパを中心に多くの利用実績があります。
この記事ではWindows8.1にJob Schedulerを導入する手順を説明し、さらに「JobSchedulerの活用事例」「JobSchedulerの機能紹介」をご紹介します。
Job Scheduler公式サイト:http://www.sos-berlin.com/jobscheduler
Javaのインストール
最初に「Job Scheduler」はJavaのServerRuntimeを利用していますのでJavaのJDKをインストールします。Server Runtimeのため通常インストールされるJavaRuntimeのみの場合、動作しないため注意してください。既にインストール済みの方は必要ありません。
以下URLから「Server JRE」下のダウンロードボタンを押します。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
ページが進んでダウンロードするファイル一覧が表示されますので、利用規約に合意してWindows x64版(jdk-8u51-windows-x64.exe)をダウンロードして実行するとインストーラーが起動します。
この原稿を準備している環境では、インストールフォルダを「E:Program FilesJavajdk1.8.0_51」に変更しました。
インストール完了後、本当に正しくインストールされたのかJavaのバージョン確認するため、DOS窓から直接バージョンを確認してみます。
> java -version
---出力結果 java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
Javaのインストールに成功し、パスにも追加されていることが確認できました。
インストーラーのダウンロードとインストール
以下URLからWindows64bit版のインストーラーをダウンロードします。「Full Install」のリンクを押してください。
ダウンロードするファイル:JobScheduler Maintenance Release 1.9.4 (07/24/2015) Windows-x64 (64-Bit version)
URL: http://www.sos-berlin.com/jobscheduler-downloads
ダウンロードしたzipファイルを解凍すると中に「jobscheduler_windows-x64.1.9.4.jar」が入っています。このファイルをダブルクリックするとインストーラーが起動します。
今時点(2015/7/25日)で日本語は選べませんので英語でインストールを進めていきます。
インストーラーが起動した中にインストール手順書PDFのURLがあります。このURLはドイツ語PDFへのリンクになっているため以下URLの英語版を参照します。
英語版インストール手順書PDF: http://www.sos-berlin.com/doc/en/scheduler_installation.pdf
Nextを押して進めるとライセンスの選択が表示されます。デュアルライセンスで選択形式を取っており「GNU GPL 2.0」か「Job Scueduler Commercial License」のどちらかを選択します。今回は「GNU GPL 2.0」を選択します。
サポートを受けたい場合は「Job Scueduler Commercial License」を選択して下さいとあります。日本記号がサポートを始めたニュースが出ていましたので、仕事で利用する場合は日本語対応をしてもらえる日本国内の企業に連絡をして有償サポートを受ける事もできます。
TIS、ジョブ管理OSS「JobScheduler」のサポートを開始:
http://itpro.nikkeibp.co.jp/atcl/news/15/021000490/
ライセンスを選択、利用規約に合意し、インストールパスを選択します。この記事中ではパスを変更せず初期設定のままにしました。ログファイル出力パスも同じく初期設定のままです。
インストールパス:C:Program Files (x86)sos-berlin.comjobscheduler ログファイル出力パス:C:ProgramDatasos-berlin.comjobscheduler
ネットワーク設定の個所のAllowed Hostには、外部から接続できるように「0.0.0.0」を指定します。
IPの指定:Allowed Host: 0.0.0.0
クラスター設定について、今回は1台のWindowsPC上で動作させるためスタンドアローンを選択します。(初期選択がstandaloneになっています)
メール送信で利用するメールサーバーについては今回利用しないのですが、SMPTを使ってメール送信できる環境情報を入力してください。
今回はメール送信を行わないのでエラー時にメール送信しないを選択します。
利用するデータベースの選択です。今回利用するPostgreSQLを選択しました。
データベース名、接続に利用するユーザー名とパスワードを入力します。今回はPostgreSQLが同じPCで動いているためHostは127.0.0.1、動作検証しやすくするため、データベース名、ユーザー名、パスワードを全て同じくschedulerにしました。
このまま進めると、データベースが未だ作られていないためエラーになります。入力した情報でデータベースとユーザーを作ります。データベースに接続できるとインストーラーが進みテーブルが自動的に作られます。
画像:インストーラーで作られたテーブル一覧
データベースのセットアップも終わりインストーラーも最後に近づいてきました。引き続き進めていくとWindowsサービスに今回JobSchedulerのサービスが新しく追加されます。今回作られたサービス名は”sos_scheduler_dev-note_4444″です。
これでインストール完了です。
早速Windowsサービスを起動してみましょう。起動に成功すると同時にHTTPサーバーが立ち上がります。http://127.0.0.1:4444/にアクセスするとJobSchedulerの管理画面が表示されます。
エラーが起こった場合
Windowsサービスが起動しない場合、今回の構成では以下フォルダにログが格納されていますので、ログファイルを見て原因を調べます。
C:ProgramDatasos-berlin.comjobschedulerdev-note_4444logs
私は最初JREをインストールしていたため、Windowsサービスが起動しませんでした。HTTPサーバーも立ち上がっておらずブラウザから確認できない状態でした。
ログを見るとjvm.dllでエラーが出ていたため、JDKをインストールし直すとjvm.dllに関するエラーがなくなりました。
次にWindowsサービスを起動しようとすると以下エラーが起こりました。
2015-07-26 00:13:41.022+0900 [ERROR] pluginSubsystem.close(): java.lang.NullPointerException
これはPostgreSQLのバージョンの関係で、JobSchedulerはstandard_conforming_stringsをoffしないと動作しないようです。これはPostgreSQL9.1から有効になっているため、9.1以降のバージョンを使っている方は起こる現象だと思います。回避するには以下SQLを実行してユーザー名「scheduler」の設定を変更します。
ALTER USER scheduler SET standard_conforming_strings = off;
おそらく導入する環境によって様々なエラーが起こると思います。JobSchedulerのバージョン毎に動作保障した環境に対してミドルウェアのバージョンと組み合わせも書いてあると助かるのですが無いようなので(もしかすると見つけられないだけ?)、利用環境に依存するエラーが起こる毎に調査、修正を行いながら動作確認する事になると思います。
本ブログは、Git / Subversionのクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
エンタープライズ向け Git / Subversion 導入や DevOps による開発の効率化を検討している法人様必見!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
2 Comments
[…] 前記事(「WindowsにJobSchedulerをインストールする手順を解説」)ではWindowsにJob Schedulerをインストールしました。本記事ではJob Schedulerの機能を評価していきます。 […]
日本語情報は以下をご覧ください。
日本語紹介資料 http://www.ossl.co.jp/jpn/Products/infrastructure/JobScheduler
日本JobSchedulerユーザーグループ https://sites.google.com/site/jobschedulerja/
https://groups.google.com/forum/?hl=ja#!forum/jobscheduler-ja
https://www.facebook.com/Jobscheduler-Japan-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97-594469610565511/timeline/