7.2.16 マルチノード機能に関するオペランド(set形式)
マルチノード機能に関するオペランドは,ノード種別によって指定要否が次のように異なります。
|
オペランド名 |
ノード種別 |
||
|---|---|---|---|
|
プライマリノード |
セカンダリノード |
ワーカーノード |
|
|
adb_sys_multi_node_info |
〇 |
〇 |
〇 |
|
adb_sys_multi_worker_node_info※1 |
× |
× |
〇 |
|
adb_sys_multi_max_worker_nodes※1 |
〇 |
〇 |
〇 |
|
adb_sys_node_start_wait_time |
△ |
△ |
△ |
|
adb_sys_multi_worker_abort_time |
× |
× |
× |
|
adb_sys_max_parallel_exec_num※2 |
〇 |
〇 |
〇 |
|
adb_sys_multi_node_clt_host |
△ |
△ |
× |
- (凡例)
-
〇:指定が必要です。
△:基本的には指定不要です。デフォルト値から指定を変更する場合に指定します。
×:指定不要です。
- 注※1
-
ワーカーノードを使用する場合に指定するオペランドです。
- 注※2
-
SQLパラレル実行機能を使用する場合に指定するオペランドです。
|
オペランド名 |
ノード種別 |
|
|---|---|---|
|
プライマリノード |
ワーカーノード |
|
|
adb_sys_multi_node_info |
〇 |
〇 |
|
adb_sys_multi_worker_node_info |
× |
〇 |
|
adb_sys_multi_max_worker_nodes |
〇 |
〇 |
|
adb_sys_node_start_wait_time |
△ |
△ |
|
adb_sys_multi_worker_abort_time |
× |
△ |
|
adb_sys_max_parallel_exec_num※ |
〇 |
〇 |
| adb_sys_multi_node_clt_host |
△ |
× |
- (凡例)
-
〇:指定が必要です。
△:基本的には指定不要です。デフォルト値から指定を変更する場合に指定します。
×:指定不要です。
- 注※
-
SQLパラレル実行機能を使用する場合に指定するオペランドです。
- [66] adb_sys_multi_node_info = ノードのホスト名〔:ノードのポート番号〕〔,ノードのホスト名〔:ノードのポート番号〕〕…
-
〜〈文字列〉((1〜261バイト))
マルチノード機能を使用する場合にこのオペランドを指定します。マルチノード機能については,「18. マルチノード機能の運用」を参照してください。
HAモニタありのマルチノード構成の場合と,HAモニタなしのマルチノード構成の場合とでこのオペランドの指定内容が異なります。
- ■HAモニタありのマルチノード構成の場合
-
プライマリノードおよび各セカンダリノードのHADBサーバ間通信で使用するHADBサーバのホスト名,およびポート番号を「ホスト名:ポート番号」の形式で指定します。
- 重要
-
-
このオペランドには,プライマリノードと全セカンダリノードのホスト名とポート番号を指定します。ワーカーノードのホスト名とポート番号は指定しません。ワーカーノードのホスト名とポート番号は,adb_sys_multi_worker_node_infoオペランドで指定します。
-
このオペランドは,全ノードのサーバ定義に指定してください。また,指定内容は同じにしてください。
-
HADBサーバ間で使用するネットワークと,HAモニタの監視パスのネットワークは,必ず共通のネットワークを使用してください。詳細については,「18.2.3 ネットワーク構成」の「(2) ノード間ネットワーク」を参照してください。
-
指定規則を次に示します。
-
ノードのホスト名〔:ノードのポート番号〕は,4個まで指定できます。
-
このオペランドには,必ず自ノード(このサーバ定義を指定して開始するHADBサーバ)のホスト名,およびポート番号も指定してください。
-
マルチノード機能で使用する全ノードに対して,このオペランドには同じ値を指定してください。その際,指定順も同じにしてください。
-
HADBサーバ間通信で使用するポート番号は省略できます。指定を省略した場合は,23651が仮定されます。
このオペランドの指定例を次に示します。この例では,セカンダリノードを2つ設定するものとします。
set adb_sys_multi_node_info = 172.16.0.11:23651, \ ...1 172.16.0.12:23651, \ ...2 172.16.0.13:23651 ...3[説明]
-
プライマリノードのホスト名とポート番号を指定します。
-
1つ目のセカンダリノードのホスト名とポート番号を指定します。
-
2つ目のセカンダリノードのホスト名とポート番号を指定します。
- ■HAモニタなしのマルチノード構成の場合
-
HADBサーバ間通信で使用するプライマリノードのホスト名,およびポート番号を「ホスト名:ポート番号」の形式で指定します。
- 重要
-
-
このオペランドには,プライマリノードのホスト名とポート番号だけを指定します。ワーカーノードのホスト名とポート番号は指定しません。ワーカーノードのホスト名とポート番号は,adb_sys_multi_worker_node_infoオペランドで指定します。
-
このオペランドは,全ノードのサーバ定義に指定してください。また,指定内容は同じにしてください。
-
指定規則を次に示します。
-
このオペランドは,全ノードで同じ値を指定してください。
-
ポート番号は省略できます。指定を省略した場合は,23651が仮定されます。
このオペランドの指定例を次に示します。
set adb_sys_multi_node_info = 172.16.0.11:23651 ...1
[説明]
-
プライマリノードのホスト名とポート番号を指定します。
- [67] adb_sys_multi_worker_node_info = ワーカーノードのホスト名〔:ワーカーノードのポート番号〕
-
~〈文字列〉((1~261バイト))
ワーカーノードがHADBサーバ間通信で使用するHADBサーバのホスト名,およびポート番号を「ホスト名:ポート番号」の形式で指定します。このオペランドを指定したノードが,ワーカーノードになります。
- 重要
-
-
このオペランドは,ワーカーノードのサーバ定義に指定してください。
-
このオペランドには,自ワーカーノード(このサーバ定義を指定するワーカーノード)のホスト名とポート番号だけを指定します。
-
留意事項を次に示します。
-
ワーカーノードのポート番号の指定は省略できます。指定を省略した場合は,23651が仮定されます。
-
マルチノード機能を使用しない場合,このオペランドの指定値は無効になります。
- [68] adb_sys_multi_max_worker_nodes = ワーカーノードの最大数
-
~〈符号なし整数〉((1~11))
マルチノード構成に追加できるワーカーノードの最大数を指定します。
システムの負荷がピークのときに必要となるノード数を想定して,このオペランドの指定値を決めてください。
-
HAモニタありのマルチノード構成の場合
例えば,セカンダリノードを2つ設定しているとします。このとき,システムの負荷がピークのときに必要となるノード数が10の場合,プライマリノードが1つ,セカンダリノードが2つあるため,ワーカーノードは7つ必要になります。よって,このオペランドには7を指定します。
-
HAモニタなしのマルチノード構成の場合
例えば,システムの負荷がピークのときに必要となるノード数が10の場合,プライマリノードが1つあるため,ワーカーノードは9つ必要になります。よって,このオペランドには9を指定します。
- メモ
-
マルチノード構成のノードの最大数は12になります。
したがって,HAモニタありのマルチノード構成の場合で,例えばセカンダリノードが1個のときは,ワーカーノードは最大10個追加できます。
HAモニタなしのマルチノード構成の場合は,ワーカーノードは最大11個追加できます。
- 重要
-
-
このオペランドは,全ノードのサーバ定義に指定してください。また,指定値は同じにしてください。
-
HAモニタありのマルチノード構成の場合にこのオペランドを省略すると,マルチノード構成にワーカーノードを追加することはできません。
-
HAモニタなしのマルチノード構成の場合は,このオペランドを省略することはできません。
-
なお,マルチノード機能を使用しない場合,このオペランドの指定値は無効になります。
-
- [69] adb_sys_node_start_wait_time = 他ノードの起動完了待ち時間の上限
-
〜〈整数〉((1〜7,200))《300》(単位:秒)
マルチノード機能を使用する場合で,各ノードの起動が完了するまでの待ち時間の上限を,秒単位で指定します。
このオペランドには,基本的にデフォルト値を指定してください。
- [70] adb_sys_multi_worker_abort_time = ワーカーノードを異常終了させるまでの待ち時間の上限
-
〜〈整数〉((0〜3,600))《0》(単位:秒)
このオペランドは,基本的には指定不要です。次の条件をすべて満たすときに,このオペランドの指定を検討してください。
-
HAモニタなしのマルチノード構成を使用している
-
プライマリノードのHADBサーバが異常終了したときに,プライマリノードのHADBサーバを自動的に再起動する設定などをしている
HAモニタなしのマルチノード構成の場合,プライマリノードのHADBサーバが異常終了すると,全ワーカーノードのHADBサーバも異常終了して,マルチノード構成のHADBサーバが異常終了します。このオペランドには,ワーカーノードのHADBサーバが異常終了するまでの待ち時間の上限を,秒単位で指定します。
- メモ
-
ワーカーノードのHADBサーバは,次の順序で異常終了処理を実行します。
-
プライマリノードのHADBサーバの異常終了を検知する(KFAA60010-Wメッセージが出力される)
-
プライマリノードのHADBサーバの異常終了に伴いHADBダンプファイルを出力する(HADBダンプファイルの出力完了時にKFAA40014-Iメッセージが出力される)
-
adb_sys_multi_worker_abort_timeオペランドに指定した秒数だけ,ワーカーノードのHADBサーバの異常終了を待つ
このオペランドを省略するか,または0を指定した場合,上記の3.で待ち時間なしですぐにワーカーノードのHADBサーバが異常終了します。
-
なお,ワーカーノードのHADBサーバが異常終了した場合,ワーカーノードで実行中のトランザクションがエラーになります。例えば,このオペランドに120を指定した場合,上記の3.でワーカーノードのHADBサーバの異常終了を120秒間待ちます。120秒以内にプライマリノードのHADBサーバが再起動した場合,ワーカーノードのHADBサーバは異常終了しないで,トランザクションの処理を続行します。ただし,トランザクションの終了後,APはマルチノード構成のHADBサーバから切断されます。必要に応じてマルチノード構成のHADBサーバに再接続してください。
また,プライマリノードのHADBサーバの再起動が完了しても,ワーカーノードがトランザクションを処理している間は,そのワーカーノードに新規のトランザクションの処理が割り当てられません。トランザクションの処理が完了したあとに,新規のトランザクションの処理が割り当てられます。
- 重要
-
-
このオペランドは,ワーカーノードのサーバ定義に指定してください。プライマリノードのサーバ定義にこのオペランドを指定しても無視されます。
-
HAモニタありのマルチノード構成でこのオペランドを指定しても無視されます。
-
-
- [71] adb_sys_max_parallel_exec_num = SQLパラレル実行機能を適用する検索系SQLの最大同時実行数
-
〜〈符号なし整数〉((0〜サーバ定義adb_sys_max_usersオペランドの値))《サーバ定義adb_sys_max_usersオペランドの値》
SQLパラレル実行機能を適用する検索系SQLの最大同時実行数を指定します。SQLパラレル実行機能を適用した検索系SQLの同時実行数がこのオペランドの指定値を超えると,新たに実行しようとするSQLパラレル実行機能を適用した検索系SQLはエラーになります。
- 重要
-
-
このオペランドは,全ノードのサーバ定義に指定してください。また,指定値は同じにしてください。
-
このオペランドに0を指定した場合,次の指定をしても検索系SQLの実行時にSQLパラレル実行機能は適用されません。
-
クライアント定義のadb_clt_sql_parallel_execオペランドにYを指定する
-
SQL文にSQLパラレル実行指定を指定する
-
-
次に示すどちらかの条件を満たす場合は,このオペランドを省略してデフォルト値を適用することを推奨します。
-
SQLパラレル実行機能を使用しない場合
-
SQLパラレル実行機能を適用した検索系SQLの最大同時実行数が明確にわからない場合
なお,マルチノード機能を使用しない場合,このオペランドの指定値は無効になります。
- [72] adb_sys_multi_node_clt_host = 自ノードのホスト名
-
~〈ホスト名〉((1~255バイト))
自ノードのホスト名を指定します。
通常,このオペランドを指定する必要はありません。Kubernetesクラスタ内でマルチノード機能を使用する場合に,このオペランドの指定を検討してください。このオペランドに指定したホスト名は,マルチノード機能のクライアント-サーバ間ネットワークで使用されます。
このオペランドは,マスタノードおよび全セカンダリノードに指定します。ワーカーノードには指定する必要はありません。