3.2.2 処理を複数の実行ホストで分散して実行させる場合の構成例

複数の実行ホストで分散して業務を実行させたい場合は,業務の管理ホストとしてJP1/AJS2 - Managerを使用し,実行ホストとしてJP1/AJS2 - Agentを使用します。なお,JP1/AJS2 - Agentの代わりに実行ホストとしてJP1/AJS2 - Managerを使用することもできます。また,監視ホストとしてJP1/AJS2 - Viewを使用します。

<この項の構成>
(1) 1台の業務管理ホストを使用する場合
(2) 複数の業務管理ホストを使用する場合
(3) タイムゾーン
(4) 文字コード
(5) 同一マシンを複数の実行ホストとして使用する方法
(6) イベントジョブ使用時に同一マシンを複数の実行ホストとして使用する方法
(7) 注意事項

(1) 1台の業務管理ホストを使用する場合

JP1/AJS2 - Manager用ホストを1台用意し,JP1/AJS2 - Agent用ホストを複数台用意します。また,必要に応じてJP1/AJS2 - View用のホストを用意します。

1台のJP1/AJS2 - Managerホストを使ったマネージャー・エージェント構成のシステム構成例を次の図に示します。

図3-2 1台のJP1/AJS2 - Managerホストを使ったマネージャー・エージェント構成のシステム構成例

[図データ]

(2) 複数の業務管理ホストを使用する場合

JP1/AJS2 - Manager用ホストとJP1/AJS2 - Agent用ホストを複数台用意します。また,必要に応じてJP1/AJS2 - View用ホストを用意します。

複数のJP1/AJS2 - Managerを使ったマネージャー・エージェント構成のシステム構成例を次の図に示します。

図3-3 複数のJP1/AJS2 - Managerを使ったマネージャー・エージェント構成のシステム構成例

[図データ]

なお,JP1/AJS2は自ホスト名からIPアドレスが解決できる環境で動作させてください。自ホスト名からIPアドレスが解決できない環境では,JP1/AJS2は起動できません。

また,複数ホストでジョブを実行する場合は,マネージャー,エージェントおよび他システムの各ホスト上で,IPアドレスが解決できるように設定してください。DNS運用をしている場合は,FQDN形式のホスト名のIPアドレスが解決できるように設定してください。

(3) タイムゾーン

JP1/AJS2 - Viewを使ってJP1/AJS2 - Managerにログインして業務の実行状況や実行結果を確認する場合,表示される時刻はJP1/AJS2 - ViewのがインストールされているマシンのOSに設定されたタイムゾーンに従います。

Windowsの場合
Windows上のJP1/AJS2 - Managerは,OSの構造上,プロセス単位にタイムゾーンを扱えません(1台のJP1/AJS2 - Managerで複数のタイムゾーンを扱うことはできません)。したがって,タイムゾーン別にJP1/AJS2 - ManagerおよびJP1/AJS2 - Viewを複数台用意してください。
UNIXの場合
UNIXではプロセス単位にタイムゾーンを設定できるので,JP1/AJS2 - Managerに実行登録するジョブネットに対して,実行登録するユーザーごとに環境変数TZを選択できます(1台のJP1/AJS2 - Managerで複数のタイムゾーンを扱うことができます)。
ただし,ユニットに対して操作を行う場合は,次の制限があります。
  • JP1/AJS2 - Viewから操作する場合は,一つのタイムゾーンしか扱えないため,タイムゾーン別にユニット定義を用意し,タイムゾーンごとにJP1/AJS2 - Viewを起動する。
  • 実行登録を行う場合は,タイムゾーン別に環境変数TZを設定した環境で,ajsentryコマンドを使用する。
  • 日時変更などの時刻に関する指定は,相対指定だけとする。
  • 実行登録した内容をコマンドで確認する場合は,実行登録したときと同じ環境変数TZを設定した環境で,ajsshowコマンドを使用する。

業務の実行先が海外であっても,日本時間に設定されているJP1/AJS2 - Viewを使って実行状況や実行結果を表示させると,現地時間ではなく日本時間で時刻が表示されます。Windowsの場合は,タイムゾーンが異なるエリアの業務の実行状況や実行結果を現地時間で確認するには,現地のタイムゾーンに合わせたJP1/AJS2 - Viewマシンを別途用意する必要があります。例えば,ニューヨークでの実行状況をニューヨーク時間で表示させるにはニューヨークのタイムゾーンに合わせて時刻を調整したJP1/AJS2 - Viewマシンを用意してください。UNIXの場合は,プロセスごとにタイムゾーンを設定すれば,タイムゾーンが異なるエリアの実行状況を1台のJP1/AJS2 - Viewマシンで確認することができます。

異なるタイムゾーンにある複数の管理業務ホストの実行状況を確認する場合のシステム構成例を次の図に示します。

図3-4 異なるタイムゾーンにある複数の管理業務ホストの実行状況を確認する場合のシステム構成例

[図データ]

マネージャー・エージェント間でタイムゾーンが異なる場合の注意事項を次の表に示します。

なお,次に示す注意事項は,スケジュールされ実行されているジョブに対する注意事項です。ジョブネットの実行スケジュールを定義するときの注意事項ではありません。

ジョブネットの実行スケジュールは,マネージャーのタイムゾーンに従ってスケジュールされます。

表3-3 マネージャー・エージェント構成時のタイムゾーンに関する注意事項

注意事項PCジョブ
UNIXジョブ
QUEUEジョブ
カスタムジョブ
アクションジョブイベントジョブ
ジョブは,エージェントのタイムゾーン環境下で実行されます。標準出力ファイルおよび標準エラー出力ファイル(実行結果詳細)のメッセージ中の時刻は,エージェントのタイムゾーンの時刻です。
ジョブに定義した打ち切り時間などによる時間計算は,エージェントのタイムゾーンの時刻で行われます。マネージャーのタイムゾーンの時刻ではありません。
イベントジョブの引き継ぎ情報内の時刻は,イベントが発生したエージェントのタイムゾーンの時刻です。マネージャーのタイムゾーンや,(引き継ぎ情報を使用する)ジョブを実行するときのタイムゾーンの時刻ではありません。
(凡例)
○:対象
-:対象外

(4) 文字コード

JP1/AJS2で使用する文字コードは,JP1/Baseで使用している文字コードに合わせてください。

マネージャー・エージェント構成,国内版・海外版のJP1/AJS2製品を混在環境で使用する場合の組み合わせについては,「5.6.1 システムで使用する言語種別を検討する」を参照してください。

マネージャーとエージェントで文字コードが異なる場合,マネージャー・エージェント間の通信時に,次に示す定義,入力ファイル,および実行結果の文字コードは通信先で使用している文字コードに変換されます(マネージャーからエージェントに通信する場合は,エージェントで使用している文字コードに変換されます。エージェントからマネージャーに通信する場合は,マネージャーで使用している文字コードに変換されます)。

なお,PCジョブ,UNIXジョブ,アクションジョブがキューレスエージェントで実行される場合で,エージェントのバージョンが07-00~07-00-/Bの場合は,一切変換されません。

PCジョブ,UNIXジョブ,およびQUEUEジョブの場合
定義
  • 実行ファイル名
  • コマンド文
  • スクリプトファイル名
  • パラメーター
  • 環境変数
  • 環境変数ファイル名
  • エージェントプロセス実行時のワークディレクトリ名
  • 標準入力ファイル名
  • 標準出力ファイル名
  • 標準エラー出力ファイル名
  • 転送ファイル名
  • ジョブ名(QUEUEジョブの場合)
  • ジョブに定義したマクロ変数の値
入力ファイル
  • 転送ファイル1~4の内容
実行結果
  • 標準出力ファイルの内容
  • 標準エラー出力ファイルの内容(実行結果詳細)
アクションジョブ,カスタムジョブの場合
定義
  • ジョブに定義した情報
  • ジョブに定義したマクロ変数の値
実行結果
  • 標準エラー出力ファイルの内容(実行結果詳細)
イベントジョブの場合
定義
  • ジョブに定義した情報
実行結果
  • 標準エラー出力ファイルの内容(実行結果詳細)
  • 引き継ぎ情報(ジョブに定義したマクロ変数の値)

(5) 同一マシンを複数の実行ホストとして使用する方法

JP1/AJS2で管理するエージェントは,エージェントごとにジョブの実行多重度を設定できます。同一マシン(一つのIPアドレス)に対して複数のエージェントホストをエイリアスとして定義し,特性の異なるジョブを別のエージェントホストに登録することで,一つのマシン上で業務を振り分けることができます。例えば,実ホスト(hostA)に対してhostB,hostCというエイリアスを定義し,一つのマシン上で次の図のように業務を振り分けることができます。なお,キューレスジョブは,エイリアスのエージェントホスト名を使用できません。

図3-5 業務の振り分け例

[図データ]

このような運用をするには,ジョブ実行制御の構成定義にエイリアスのエージェント名を追加します。なお,その際はhostsファイルでエイリアス名を指定して,エイリアス名でIPアドレスが解決できることを確認してください。エージェント名の追加方法については,以下の設定方法の「(b) ジョブ実行制御の構成定義」を参照してください。

また,JP1/Baseのバージョン06-71でサポートされたjp1hosts情報で定義すると,hostsファイルなどのOSの設定を変更せずにJP1独自のhosts情報を持つことができます。次に設定方法を示します。

注意
JP1独自のhosts情報を持つには,JP1/Baseのバージョン06-71以降が必要になります。

(a) jp1hosts情報の定義

IPアドレスが100.0.0.10,実ホスト名がhostAであるノードに対してhostB,hostCというエイリアスのホスト名を定義する場合の例を説明します。

  1. JP1/AJS2のサービスを停止する。
  2. jp1hosts定義ファイルを編集する。
    デフォルトで提供されているjp1hosts定義ファイルを編集します。

    hostA 100.0.0.10
    hostB 100.0.0.10
    hostC 100.0.0.10

    なお,この設定はマネージャーホスト上で設定します。
  3. JP1/Baseを停止する。
  4. jbshostsimportコマンドを実行して共通定義情報に登録する。
    次のコマンドを実行して,jp1hosts情報を共通定義情報に登録します。

    jbshostsimport {-o|-r} jp1hosts定義ファイル名 [-h 論理ホスト名

    共通定義情報に登録したjp1hosts情報を確認する場合は,jbshostsexportコマンドを利用してください。なお,これらのコマンドは,JP1/Baseを停止した状態で実行してください。
    これらのコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」のコマンドの章を参照してください。
  5. JP1/Baseを再起動する。
  6. JP1/AJS2を再起動する。
    JP1/AJS2を再起動します。JP1/AJS2の再起動によって,設定したjp1hosts情報が有効になります。
    注意
    jp1hosts情報を設定した場合,jp1hosts情報に定義されたホスト名およびIPアドレスに関しては,hostsファイルやDNSの定義を参照しません。したがって,jp1hosts情報に設定したIPアドレスに対応する実ホスト名とエイリアス名の両方をjp1hosts情報に定義しておく必要があります。また,実ホスト名はエイリアス名よりも先に定義してください。jp1hosts情報の定義方法の詳細については,マニュアル「JP1/Base 運用ガイド」のjp1hosts情報の定義に関する説明を参照してください。

(b) ジョブ実行制御の構成定義

エイリアスエージェントを追加する場合の手順を次に示します。

コマンドの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド」を参照してください。

  1. エージェント定義を動的に追加する。
    jpqagtaddコマンドを使用してjp1hosts情報にエイリアスとして定義したものと同じ名前のエージェントホスト名を-ahオプションに指定し,追加します。また,-cpオプションに実行多重度を設定します。実行多重度は排他実行をしたいジョブの運用方法に合わせて設定します。
    例えば,hostAでは通常業務を行い,エイリアス定義したhostBでは一つだけ実行したい業務だけを行う場合,次のように実行多重度を設定します。

    jpqagtadd [-mh マネージャーホスト名] -ah hostA -cp 0:00-0:00=5
    jpqagtadd [-mh マネージャーホスト名] -ah hostB -cp 0:00-0:00=1

    hostAでは常に5個までのジョブが実行されるのに対し,hostBに登録したジョブは常に一つだけ実行されます。
  2. キューをオープンする。
    エージェント定義追加時はキューの受付口がクローズ状態になっているため,jpqqueopenコマンドを使用してキューの受付口をオープンしてください。
    例えば,hostAのキューの受付口をオープンしたい場合は次のコマンドを実行します。

    jpqqueopen [-mh マネージャーホスト名] -ah hostA -en

(6) イベントジョブ使用時に同一マシンを複数の実行ホストとして使用する方法

イベントジョブを使用する場合に,あらかじめ同一マシン(一つのIPアドレス)に対して複数のエージェントホストをエイリアスとして定義することで,擬似的に複数のエージェントが存在する環境で運用テストを行ったり,管理上やジョブの性質上から実行エージェントを分けたいときに一つのエージェントホストに対してジョブを振り分けたりすることができます。

例えば,IPアドレスが100.0.0.10,ホスト名がHostMのマネージャーホストで,IPアドレスが100.0.0.20,実ホスト名がHostAであるエージェントホストに対して,HostBというエイリアスのホスト名を定義する場合の例を次に示します。

図3-6 エイリアスの設定例

[図データ]

このような場合,マネージャー側とエージェント側のhostsファイルをそれぞれ次のように設定します。

注意事項
複数ホストでジョブを実行する場合は,マネージャー,エージェントおよび他のシステムの各ホスト上で,IPアドレスによる解決ができるように設定してください。また,hostnameコマンドで返る値で求まるIPアドレスと,エイリアス名で求まるIPアドレスは同一になるように設定してください。

(7) 注意事項

マネージャー・エージェント構成時の注意事項を次に示します。