3.16.6 サンプルシナリオテンプレートの利用
OpenTP1では,スケールアウトのシナリオテンプレートのうち,新しいOpenTP1ノードを追加するシナリオのサンプルシナリオテンプレートを提供しています。
OpenTP1をインストールした状態でサンプルシナリオテンプレート(OpenTP1_ScenarioScaleout)を実行すると,新しいOpenTP1の環境構築をしたあとに,OpenTP1とサンプルユーザサーバ(basespp)を起動します。サンプルシナリオテンプレートをカスタマイズすると,ご使用の環境に合わせて,スケールアウトを簡単に実行できます。
(1) サンプルシナリオテンプレートの概要
サンプルシナリオテンプレートの概要について説明します。
サンプルシナリオテンプレートは,次の表に示す処理を実行します。
項番 |
処理内容 |
シナリオテンプレートの名称 |
参照する入力シナリオ変数 |
---|---|---|---|
1 |
OpenTP1ディレクトリの作成 |
OpenTP1_MakeTP1Dir |
|
2 |
OpenTP1の定義設定 |
OpenTP1_SetConfig |
|
3 |
ノードIDの設定 |
OpenTP1_ChangeNodeID |
|
4 |
OpenTP1の登録 |
OpenTP1_Deploy |
|
5 |
OpenTP1ファイルシステムの作成 |
OpenTP1_MakeFileSystem |
|
6 |
OpenTP1の起動 |
OpenTP1_Start |
|
7 |
UAP(サンプルプログラム)の起動 |
OpenTP1_StartUAP |
|
シナリオテンプレートごとに詳細を説明します。
- 1.OpenTP1ディレクトリの作成(OpenTP1_MakeTP1Dir)
-
OpenTP1ディレクトリ作成シェルファイル※を使用して,次に示す順序でOpenTP1ディレクトリを作成します。
-
ユーザ名・グループ名を取得(getUSERNAME)します。
指定したUSER_NAME,GROUP_NAMEが取得され,makeTP1Dirシナリオに引き継がれます。ただし,USER_NAME,GROUP_NAMEを両方とも省略した場合は,JP1/Baseで定義したユーザマッピングのプライマリユーザおよびユーザが属するグループが取得されます。
-
OpenTP1ディレクトリを作成(makeTP1Dir)します。
OpenTP1ディレクトリ作成シェルファイル※を使用して,次のようなOpenTP1ディレクトリを作成します。
・ディレクトリ:入力シナリオ変数DCDIRの設定値
・所有者:入力シナリオ変数USER_NAMEの設定値
・グループ:入力シナリオ変数GROUP_NAMEの設定値
・モード:0755
指定したOpenTP1ディレクトリの親ディレクトリがない場合は,親ディレクトリも含めて作成します。ただし,所有者・グループ・モードの設定は,OpenTP1ディレクトリにだけ行います。
-
- 2.OpenTP1の定義設定(OpenTP1_SetConfig)
-
OpenTP1環境設定シェルファイル※を使用して,OpenTP1のシステム定義およびロードモジュールを,次に示す順序で設定します。
-
$DCDIR/aplib,$DCDIR/jp1_template/tools,および$DCCONFPATHディレクトリを作成します。
-
/BeTRAN/jp1_template/examplesディレクトリ下のaplib,conf,およびtoolsを作成したディレクトリ下にコピーします。
-
システム定義のノード固有情報(ファイルシステムのパス名など)を設定します。
-
- 3.ノードIDの設定(OpenTP1_ChangeNodeID)
-
OpenTP1のノードIDを入力シナリオ変数NODE_IDの設定値で設定します。
- 4.OpenTP1の登録(OpenTP1_Deploy)
-
dcsetupコマンドを実行し,OpenTP1をOSに登録します。
- 5.OpenTP1ファイルシステムの作成(OpenTP1_MakeFileSystem)
-
OpenTP1ファイル作成シェルファイル※を使用して,OpenTP1ファイルシステムおよびOpenTP1ファイルを作成します。
OpenTP1ファイルシステム名は,入力シナリオ変数BETRAN_FILE1,およびBETRAN_FILE2の設定値になります。
- 6.OpenTP1の起動(OpenTP1_Start)
-
OpenTP1を起動します。
- 7.UAP(サンプルプログラム)の起動(OpenTP1_StartUAP)
-
入力シナリオ変数USER_SERVER_NAMEに設定されたユーザサーバのUAPを起動します。
- 注※
-
シェルファイルは,ご使用のOSによって異なります。OSごとのシェルファイルのパスを,次の表に示します。
表3‒42 OSごとのシェルファイルのパス シェルファイル名
OS
UNIX
Windows
OpenTP1ディレクトリ作成シェルファイル
/BeTRAN/jp1_template/examples/tools/dcjmk_dcdir.sh
(OpenTP1をインストールしたディレクトリ)\jp1_template\examples\tools\dcjmk_dcdir.bat
OpenTP1環境設定シェルファイル
/BeTRAN/jp1_template/examples/tools/dcjset_conf.sh
(OpenTP1をインストールしたディレクトリ)\jp1_template\examples\tools\dcjset_conf.bat
OpenTP1ファイル作成シェルファイル
/BeTRAN/jp1_template/examples/tools/dcj_mkfs.sh
(OpenTP1をインストールしたディレクトリ)\jp1_template\examples\tools\dcj_mkfs.bat
(2) サンプルシナリオテンプレートの登録
サンプルシナリオテンプレートを実行するには,サンプルシナリオテンプレートを,JP1/AJS2 - Scenario Operation Viewの操作によってJP1/AJS - Managerに登録します。
サンプルシナリオテンプレートは,次の場所に格納されています。
/ScenarioLibrary/OpenTP1/TP1_ServerBase/OpenTP1_ScenarioScaleout
サンプルシナリオテンプレートを登録するには,次の表に示す入力シナリオ変数を設定します。
入力シナリオ変数 |
内容 |
設定例 |
---|---|---|
DCDIR |
OpenTP1のホームディレクトリ |
/home/user/OpenTP1 |
DCCONFPATH |
OpenTP1定義ファイル格納ディレクトリ |
/home/user/OpenTP1/conf |
HOST_NAME※1 |
実行するOpenTP1ノードのホスト名 |
hostX |
USER_NAME※1 |
OpenTP1のユーザ名 |
user |
GROUP_NAME※1 |
OpenTP1のグループ名 |
tp1 |
BETRAN_FILE1※2 |
OpenTP1ファイルシステムのパス |
/home/user/OpenTP1/betranfile1 |
BETRAN_FILE2※2 |
OpenTP1ファイルシステムのパス |
/home/user/OpenTP1/betranfile2 |
USER_SERVER_NAME |
ユーザサーバ名 |
basespp(サンプルでは固定) |
NODE_ID |
OpenTP1のノード識別子(ノードごとに一意の4文字の文字列) |
smpl |
PORT_NUMBER |
OpenTP1のネームポート番号 |
10000 |
この設定例の値をサンプルシナリオテンプレートに設定してシナリオを実行した場合,次の図に示すようなディレクトリ構成のOpenTP1実行環境が作成されます。
(3) サンプルシナリオテンプレートのカスタマイズ
サンプルとして提供されるOpenTP1定義ファイルやシェルファイルなどをカスタマイズすると,OpenTP1の構成を簡単に変更できます。また,ご使用の環境に合わせてカスタマイズしたファイルを,OpenTP1のインストール環境とともにDPMで作成するマスタディスクに格納すると,スケールアウトを簡単に実行できます。
ユーザがカスタマイズできるサンプルファイルを次に示します。
-
サンプルプログラムのロードモジュール
-
システム定義ファイル
-
OpenTP1環境設定シェルファイル
-
OpenTP1ファイル作成シェルファイル
各ファイルのカスタマイズ方法を次に示します。
(a) サンプルプログラムのロードモジュールのカスタマイズ
業務に合わせたSUPおよびSPPを作成し,ロードモジュール(実行形式ファイル)を任意のディレクトリに格納してください。
(b) システム定義ファイルおよびOpenTP1環境設定シェルファイルのカスタマイズ
OpenTP1のシステム定義をカスタマイズするには,システム定義ファイルおよびOpenTP1環境設定シェルファイルを変更します。
-
システム定義ファイルのカスタマイズ
OpenTP1の各システム定義ファイルの中で,必要なものをあらかじめ設定しておきます。設定内容をノードごとに変えたい場合は,シナリオテンプレート用の文字列「@DCxxxxxx@」を設定してください。「@DCxxxxxx@」の値は,dcjchconfコマンドで設定できます。
-
OpenTP1環境設定シェルファイルのカスタマイズ
次の表に示すファイルは,OpenTP1環境設定シェルファイルの設定に従って,インストールディレクトリ(/BeTRAN)下からOpenTP1ディレクトリ($DCDIR)下にコピーされます。そのため,これらのファイルの格納場所を変更した場合は,OpenTP1環境設定シェルファイルの設定値を変更してください。
表3‒44 サンプルのOpenTP1環境設定シェルファイルの設定値 ファイルの種類
格納場所
コピー先
サンプルプログラムのロードモジュール
/BeTRAN/jp1_template/examples/aplib
$DCDIR/aplib
システム定義ファイル
/BeTRAN/jp1_template/examples/conf
$DCCONFPATH
OpenTP1ファイル作成シェルファイル
/BeTRAN/jp1_template/examples/tools
(ファイル名:dcj_mkfs.sh)
$DCDIR/jp1_template/tools
OpenTP1環境設定シェルファイルは,システム定義ファイルに設定された文字列「@DCxxxxxx@」を,dcjchconfコマンドを実行して設定します。サンプルシナリオテンプレートの場合,次の表に示すように設定されます。
表3‒45 サンプルシナリオテンプレートの文字列「@DCxxxxxx@」の設定値 ファイル名
オペランド名/定義コマンド名
システム定義ファイルの設定値
OpenTP1環境設定シェルファイルの設定値※1
cdtrn
jnladdpf
@DCbetran@
?BETRAN_FILE1?
env
DCCONFPATH
@DCconfpath@
$DCCONFPATH
prc
prcsvpath
@DChomepath@
$DCDIR
sts
sts_file_name
@DCbetran@
?BETRAN_FILE1?
@DCbetran2@
?BETRAN_FILE2?
sysjnl
jnladdpf
@DCbetran@
?BETRAN_FILE1?
betranrc
node_id※2
@DCNODE_ID@
?NODE_ID?
name_port
@DCport_number@
?PORT_NUMBER?
(c) OpenTP1ファイル作成シェルファイルのカスタマイズ
サンプルシナリオテンプレートでは,入力シナリオ変数BETRAN_FILE1および入力シナリオ変数BETRAN_FILE2で設定したOpenTP1ファイルシステム(/home/user/OpenTP1/betranfile1および/home/user/OpenTP1/betranfile2)に,次の表に示すファイルを作成します。作成するファイルを変更する場合は,OpenTP1ファイル作成シェルファイルをカスタマイズしてください。
ファイル名 |
ファイル種別 |
---|---|
cpdf01※1 |
チェックポイントダンプファイル |
cpdf02※1 |
|
cpdf03※1 |
|
stsfil01※1 |
ステータスファイル(A系) |
stsfil03※1 |
|
jnlf01※1 |
システムジャーナルファイル |
jnlf02※1 |
|
jnlf03※1 |
|
stsfil02※2 |
ステータスファイル(B系) |
stsfil04※2 |