JP1 ジョブスケジューラ用の環境構築

JP1 ver13でジョブスケジューラを検証するベースを作成

概要は以下の通りです。

rhel9のマネージャとエージェント2台(rhel9とWindows 2022)
各ホストのSSHを有効化して、Firewallは無効にしてあります。
また、各ホストは名前解決が可能なようにDNSサーバかhostsファイルを使用してください。
JP1 Viewのインストールは割愛します。また、特に指定がない場合には作業はOSの管理者権限で実行しています。


公式サイトよりダウンロード
評価版を公式よりダウンロードできます。JP1は多機能なためジョブスケジューラを使うモジュールのダウンロードに戸惑うかもしてませんので、図示しておきます
LinuxとWindowsを2つのzipファイルをダウンロードします


仮想マシンの作成
vCenterかESXiに仮想マシンを構築します。
ダウンロードしたzipファイルを解凍するとでてくるisoファイルをマウントします。P1.isoがプログラムインストール用のisoです。
下図のように仮想マシンのCD/DVDにセットします。


JP1のインストール

インストール対象の仮想マシンにssh接続して、isoファイルをマウントしてインストーラを起動
dnf update -y
※レポジトリの整理は実施して置いたほうが良い。また、以下のパッケージをインストールしないとエラーになります。
dnf install glibc.i686
dnf install libstdc++.i686
dnf install libnsl.i686
dnf install libnsl.x86_64
dnf install csh

マウントします
mkdir /media/iso
mount -t iso9660 /dev/cdrom /media/iso

インストーラーを起動
/media/iso/x64lin/setup /media/iso

インストーラー起動画面(RHEL)

矢印キーで移動させてスペースキーで選択します(@で選択中)
まずはJP1/BASEをインストールする必要があります。

次にJP1マネージャをインストール

最後にWebコンソールもインストールしておきます

最後にWebコンソールもインストールしておきます


JP1マネージャの構築

まずは以下のコマンドで認証サーバを登録します。本環境ではJP1マネージャを認証サーバとします。
/opt/jp1base/bin/jbssetusrsrv <hostname>

次にJP1マネージャ関連のデーモンを起動します
下記の手順ですと再起動するとデーモンの起動が必要になります。自動起動は別途記載したいと思います。
JP1/BASEの起動
/etc/opt/jp1base/jbs_start.model
JP1/BASEの停止
/etc/opt/jp1base/jbs_stop.model
JP1/BASEのステータス確認
/opt/jp1base/bin/jbs_spmd_status

JP1 マネージャ初期起動設定と起動
以下のファイルの174行目辺りにある、パラメータを変更します。
対象ファイル
/etc/opt/jp1ajs2/jajs_start
: # /opt/jp1ajs2/bin/jajs_spmd >/dev/null 2>/dev/null
/opt/jp1ajs2/bin/jajs_spmd >/dev/null 2>/dev/nullに変更(:#を削除する)
※先頭の1文字と2文字を削除
マネージャの起動
/etc/opt/jp1ajs2/jajs_start
マネージャのステータス確認
/opt/jp1ajs2/bin/jajs_spmd_status

JP1 Webコンソールの起動
/etc/opt/jp1ajs3web/jajs_web
JP1 Webコンソールの停止
/etc/opt/jp1ajs3web/jajs_web_stop

JP1マネージャへの接続確認

ここまでの作業でID:jp1admin パスワード:jp1adminでJP1 viewとWebコンソースからアクセスが可能なはずです。

WebコンソールのURLは以下の通り、IPとTCPポート22252(http) 22253(https)で接続
※ここまでの作業ではhttpでしか起動していません。
http[s]://ホスト名:ポート番号/ajs/login.html


RHEL実行エージェントを作成

JP1実行エージェントのインストール

JP1/Base→JP1/AS3 – Agentの順にインストールします。


JP1実行エージェント(RHEL)の構築

まずは以下のコマンドで認証サーバを登録します。本環境ではJP1マネージャを認証サーバとします。
/opt/jp1base/bin/jbssetusrsrv <hostname>

次にJP1実行エージェント関連のデーモンを起動します
下記の手順ですと再起動するとデーモンの起動が必要になります。自動起動は別途記載したいと思います。
JP1/BASEの起動
/etc/opt/jp1base/jbs_start.model
JP1/BASEの停止
/etc/opt/jp1base/jbs_stop.model
JP1/BASEのステータス確認
/opt/jp1base/bin/jbs_spmd_status

JP1実行エージェント初期起動設定と起動
以下のファイルの174行目辺りにある、パラメータを変更します。
対象ファイル
/etc/opt/jp1ajs2/jajs_start
: # /opt/jp1ajs2/bin/jajs_spmd >/dev/null 2>/dev/null
/opt/jp1ajs2/bin/jajs_spmd >/dev/null 2>/dev/nullに変更(:#を削除する)
※先頭の1文字と2文字を削除
実行エージェントの起動
/etc/opt/jp1ajs2/jajs_start
実行エージェントの起動確認
/opt/jp1ajs2/bin/jajs_spmd_status

各種プロセスの起動を確認します


JP1マネージャとJP1実行エージェントを使用したテストの実施
Windows実行エージェントのインストールと設定の前にここまでで、ジョブスケジューラの動作確認テストを実施します
以下の構成です


JP1マネージャとOSアカウントの連携させておく
ajsagtaddコマンド(JP1実行エージェントをJP1マネージャに登録するコマンド)実行時のエラーを回避するために以下の設定をしておきます

●OSユーザーをJP1ユーザーとして登録する
/opt/jp1base/bin/jbsadduser -p <OS root password> root

●JP1ユーザーに「JP1_JPQ_Admin」の権限を付与する
/etc/opt/jp1base/conf/user_acl/JP1_UserLevel ファイルの最終行に以下のエントリを追加する
root:*=JP1_JPQ_Admin

設定を反映します
/opt/jp1base/bin/jbsaclreload

JP1マネージャにJP1実行エージェントを登録する

/opt/jp1ajs2/bin/ajsagtadd -a <JP1実行エージェントのホスト名> -s <JP1実行エージェントのホスト名> -c 00:00-00:00=5
サンプル

参考までに、JP1実行エージェントの閉塞化(JP1マネージャが何らかの理由で使用している実行エージェント)と削除は以下の通り

実行エージェントの解放
/opt/jp1ajs2/bin/ajsagtalt -a jp1cli-rhel –tb
実行エージェントの削除
/opt/jp1ajs2/bin/ajsagtdel -a jp1cli-rhel

サンプルスクリプトの作成
JP1でテストさせるスクリプトをあらかじめ作成しておきます。指定ファイルにジョブの実行日時を追記するスクリプトです。

サンプルジョブ(例:/tmp/test.sh を実行)
1. 実行スクリプトの準備
テスト用ファイルを作成します。
# /tmp/test.sh

2.スクリプトの内容(/tmp/jp1_sample.logに日時を行挿入する)
#!/bin/bash
echo "JP1 Sample Job is running at $(date)" >> /tmp/jp1_sample.log
exit 0

3./tmp/test.shに実行権限を付与
chmod +x /tmp/test.sh

JP1ジョブの作成と実行(RHEL)

JP1 Viewを起動してログイン。「ジョブネット定義」→「AJSROOTで右クリック」→「新規作成」→「ジョブネット」を選択

「ユニット名」「実行エージェント」を入力または選択

「sample_jobnet」をダブルクリックしてジョブネットエディタを起動する。排他制御をチェックしてPボタンを編集フィールドにドラックする。
赤枠部分を入力
「Sample_jobnet」で右クリックして「実行登録」を選択
「即時実行」を指定して「OK」を選択
実行中になる
正常終了になる
JP1実行エージェントの/tmp/jp1_sample.logファイルを確認して実行日時が記載されていればテスト完了です。

Windows実行エージェントを作成

JP1実行エージェントのインストール

仮想マシンにインストールISOを設定する
インストーラを起動させる
JP1/Baseをインストールする
「セットアップ処理を行う。」にチェックを入れて後の設定をすると、ローカルアカウントとの紐づけを省略可能
Windowsの管理者IDとパスワードを入力
続いてJP1 Agentをインストール
サービスを起動して上記のサービス実行中か確認する

Windowsアカウントとの関連付けの確認

JP1_Base_Consoleを起動する
JP1/Baseの環境設定がこのような形なら問題はない

マネージャにJP1実行エージェントを登録する

JP1マネージャサーバに以下のコマンド入力
/opt/jp1ajs2/bin/ajsagtadd -a <jp1実行クライアントのホスト名> -s <jp1実行クライアントのホスト名> -c 00:00-00:00=5
サンプルです

サンプルスクリプトの作成

Windows実行エージェントで動作させるスクリプトを作成します。スプリクトの仕様はRHEL実行エージェントと同様です

以下スクリプト
# JP1 Sample Job PowerShell Script

# ログ出力先フォルダが無ければ作成
if (-not (Test-Path "C:\tmp")) {
New-Item -ItemType Directory -Path "C:\tmp" | Out-Null
}

# 日付を取得してログファイルに追記
"JP1 Sample Job is running at $(Get-Date)" | Out-File -FilePath "C:\tmp\jp1_sample.log" -Append -Encoding UTF8

# 正常終了コードを返す
exit 0
上記まで

ちなみにPowershellですので拡張子は.ps1で保存してください

JP1 Viewを使用してジョブネットを以下の通り作成します。ジョブネットまでの手順はRHEL実行エージェントと同じです。

ジョブネットの作成画面
ジョブの作成画面(ファイルはtest.ps1としc:\tmpフォルダにおいてあります)
ジョブネットを「実行登録します」
即時実行にしてジョブネットを実行します
正常完了になればテスト終了です

実行中のジョブの停止方法

「ステータス監視」→「表示」→「デイリースケジュール」→「全ジョブ表示」を選択します
停止したいジョブネットを選択して右クリックから「強制終了」を選択すると停止します

ご参考まで

関連記事

TOP