9.3.1 Mediator
Mediatorのパラメタを説明します。
- 〈この項の構成〉
(1) Helmチャートのパラメタ
Helmチャートの各パラメタの値は設定範囲に従って設定してください。
次の表に記載されていないパラメタは設定を変更しないでください。
|
パラメタ |
説明 |
型 |
設定範囲 |
デフォルト値 |
|---|---|---|---|---|
|
MediatorのNamespace名を設定してください。 |
String |
− |
my-namespace |
|
|
起動するMediator数を設定してください。 Orchestratorのjp.co.Hitachi.soft.hmppcto.learner.consensus-typeにThree-Quartersを設定した場合は、5以上の値を設定してください。 オートスケール機能を使用する場合は、設定しないでください。 |
Integer |
2-64 |
なし 必ず設定してください。 |
|
|
「3.4.3 Mediatorコンテナイメージの作成(通常版限定)」で作成したMediatorのコンテナイメージを設定してください。 |
String |
− |
なし 必ず設定してください。 |
|
|
コンテナイメージをPullする際の資格情報を設定してください。 次のように指定します。 imagePullSecrets: - name: regcred 資格情報が不要な場合は、設定不要です。 |
List<Object> |
− |
[] (半角左角括弧と半角右角括弧です) |
|
|
MediatorのコンテナイメージをPullする際のポリシー設定をしてください。 |
String |
IfNotPresent|Always|Never |
IfNotPresent |
|
|
Mediatorのコンテナのリソースを設定します。 コンテナに割り当てるリソースを明示的に指定した場合に設定してください。 次の形式でrequestsやlimitsを設定します。 resources:
limits:
cpu: 2
memory: 1Gi
requests:
cpu: 1
memory: 512Mi |
Object |
− |
{} (波括弧です) |
|
|
デプロイ依存関係チェック(初期化コンテナ)を有効にするかどうかを指定してください。 true:有効にします。 false:無効にします。 Azure Monitorを使用してトラブルシュート情報を収集する場合は、Elastic Stack、JaegerおよびPrometheusのPodのデプロイを待機する必要がないため、デプロイ依存関係チェックが不要になります。その場合はこのパラメタにfalseを設定してください。Helmチャートの記載例については、「3.8.3 MediatorのHelmチャートのカスタマイズ」を参照してください。 |
Boolean |
true|false |
true |
|
|
「3.4.5 Dependency-Checkerコンテナイメージの作成(通常版限定)」で作成したDependency-Checkerのコンテナイメージを設定してください。 |
String |
− |
なし dependencyCheck.enabledにtrueを設定した場合には、必ず設定してください。 |
|
|
Dependency-CheckerのコンテナイメージをPullする際のポリシー設定をしてください。 |
String |
IfNotPresent|Always|Never |
IfNotPresent |
|
|
初期化コンテナで実行するデプロイ依存関係チェックスクリプトのリトライ回数を設定してください。 |
Integer |
0-1,080 |
30 |
|
|
初期化コンテナで実行するデプロイ依存関係チェックスクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
10 |
|
|
初期化コンテナで実行するデプロイ依存関係チェックスクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
初期化コンテナで実行するデプロイ依存関係チェックスクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
初期化コンテナで実行するデプロイ依存関係チェックスクリプトのターゲットKubernetesオブジェクト群を設定してください。 指定方法の詳細は「7.6.1 デプロイ依存関係チェックスクリプト(dependency_check.sh)」を参照してください。 |
List<String> |
− |
|
|
|
Liveness Probeの初回実行待機秒数を設定してください。 |
Integer |
0以上※ |
180 |
|
|
Liveness Probeの実行間隔秒数を設定してください。 |
Integer |
1以上※ |
30 |
|
|
Liveness Probeの最大失敗回数を設定してください。 |
Integer |
1以上※ |
3 |
|
|
Liveness Probeのタイムアウト秒数を設定してください。 |
Integer |
1以上※ |
10 |
|
|
Liveness Probeで実行するトランザクションヘルスチェックスクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
Liveness Probeで実行するトランザクションヘルスチェックスクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
Readiness Probeの初回待機秒数を設定してください。 推奨値は40です。推奨値を設定後、起動直後(スケールアウトなど)のMediatorがトランザクションに参加したときに、OrchestratorやParticipantで起動直後のMediatorへの通信時にUnknownHostExceptionが発生していないか検証し、発生している場合はこのパラメタの設定値をより大きい値に設定してください。このパラメタは、オートスケール機能を使用している場合だけ有効になります。 |
Integer |
0以上※ |
40 |
|
|
Readiness Probeのタイムアウト秒数を設定してください。 このパラメタは、オートスケール機能を使用している場合だけ有効になります。 |
Integer |
1以上※ |
80 |
|
|
postStartフックで実行するトランザクションヘルスチェックスクリプトのリトライ回数を設定してください。 |
Integer |
0-1,080 |
30 |
|
|
postStartフックで実行するトランザクションヘルスチェックスクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
10 |
|
|
postStartフックで実行するトランザクションヘルスチェックスクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
postStartフックで実行するトランザクションヘルスチェックスクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
preStopフックで実行する未決着トランザクション待機スクリプトのリトライ回数を設定してください。 未決着トランザクション待機スクリプトの最大待機時間がトランザクション決着監視タイマの設定値を超えるように調整してください。 未決着トランザクション待機スクリプトの最大待機時間は「開始時待機秒数(20秒)」と「リトライ回数×リトライ間隔秒数」を合計した値です。 |
Integer |
0-1,080 |
10 |
|
|
preStopフックで実行する未決着トランザクション待機スクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
10 |
|
|
preStopフックで実行する未決着トランザクション待機スクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
preStopフックで実行する未決着トランザクション待機スクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
|
Podの安全な停止待機秒数を設定してください。 preStopによる未決着トランザクション待機スクリプトの最大待機秒数以上の値を設定してください。 デフォルト値である160秒は、未決着トランザクション待機スクリプトのリトライ回数(10回)×リトライ間隔秒数(10秒)+開始時待機時間(20秒)+バッファ(40秒)で算出した値です。 |
Integer |
0-2,147,483,647 |
160 |
|
|
MediatorからParticipantへの送信に使用するスレッド数を設定してください。 1トランザクションの分散合意時に、トランザクションに参加したParticipant数分のスレッドを使用して送信します。スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから送信します。 スレッドの空き待ちを回避するための理論上の必要なスレッド数は、同時実行トランザクション数×Participant数です。 ただし、トランザクションの分散合意処理が重ならないかぎりは、理論上の必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1,000 |
30 |
|
|
MediatorからParticipantへの送信に使用するスレッドの割り当て待ちキューのサイズを指定してください。 理論上の必要な設定値は次のとおりです。 (m+7×m)×p×p×t m:トランザクションに参加するMediator数 p:トランザクションに参加するParticipant数 t:同時実行するトランザクション数 |
Integer |
1-2,147,483,647 |
5,120,000 |
|
|
Mediatorの分散合意処理に使用するスレッド数を設定してください。 スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから処理を実行します。スレッドの空き待ちを発生しないようにするための理論上必要なスレッド数は、トランザクションに参加するParticipant数×同時実行するトランザクション数です。 ただし、処理の実行が重ならないかぎりは、理論上必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1,000 |
30 |
|
|
Mediatorの分散合意処理に使用するスレッドの割り当て待ちキューのサイズを指定してください。 理論上の必要なスレッド数は次のとおりです。 (m+7×m)×p×t m:トランザクションに参加するMediator数 p:トランザクションに参加するParticipant数 t:同時実行するトランザクション数 |
Integer |
1-2,147,483,647 |
256,000 |
|
|
Mediatorが受信に使用するスレッド数を設定してください。 スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから処理を実行します。スレッドの空き待ちを発生しないようにするための理論上必要なスレッド数は、トランザクションに参加するParticipant数×同時実行するトランザクション数です。 ただし、処理の実行が重ならないかぎりは、理論上必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1,000 |
30 |
|
|
Mediatorが受信に使用するスレッドの割り当て待ちキューのサイズを指定してください。 理論上の必要なスレッド数は次のとおりです。 {(m+7×m)×p+1}×t m:トランザクションに参加するMediator数 p:トランザクションに参加するParticipant数 t:同時実行するトランザクション数 |
Integer |
1-2,147,483,647 |
258,000 |
|
|
ConsensusLogファイルに保持するConsensusLogの数を設定してください。 TPS(1秒当たりのトランザクション処理件数)×8以上を設定してください。 この設定値を超えるConsensusLogの保持が発生した場合、該当するMediatorは分散合意に参加しません。 なお、この設定値に1,024(1つのConsensusLogのサイズ)を乗算し、1,048,576(ボリュームの書き込み容量不足にならないための予備サイズ(1MB))を加算したサイズを、MediatorのPodに割り当てるConsensusLogの永続ボリュームクレームのサイズに使用します。 |
Long |
256-100,000 |
256 |
|
|
ConsensusLogファイルへの書き込みに使用するスレッド数を設定してください。 スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから処理を実行します。スレッドの空き待ちを発生しないようにするための理論上必要なスレッド数は、同時実行するトランザクション数です。 ただし、処理の実行が重ならないかぎりは、理論上必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1,000 |
12 |
|
|
ConsensusLogファイルへの書き込みに使用するスレッドの割り当てを待つキューのサイズを指定してください。 理論上必要な設定値は、同時実行するトランザクション数です。 ただし、トランザクションの分散合意処理が重ならないかぎりは、理論上必要な設定値は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-2,147,483,647 |
100 |
|
|
ConsensusLogファイルへの書き込みおよび読み出し時のIO監視時間を秒で設定してください。 0を指定した場合、IO監視を行いません。 この設定値を短く設定すると、IOハングアップした場合に早期に検知できます。ただし、ハードウェアやドライバが障害検知するよりも短い時間を設定するとハードウェアやドライバによる障害理由が失われるおそれがあります。 IO監視時間を超過した場合は障害メッセージを出力します。 |
Integer |
0-3,600 |
240 |
|
|
ConsensusLogファイルのブロックサイズをバイトで設定してください。 1,024の倍数を設定してください。 ブロックサイズは1回のファイルIOのサイズです。 ConsensusLogファイルの永続ボリュームをNFSストレージとする場合は、1,024を指定してください。 ブロックサイズの単位でNFSサーバと通信します。ブロックサイズを小さくすると、1回のファイルIOのサイズが小さくなるため、NFSサーバとの通信量が減り、性能が向上します。 |
Integer |
1,024-16,384 |
4,096 |
|
|
「3.7.2 MediatorのConsensusLogの永続ボリュームおよびストレージクラスのKubernetesマニフェストの作成」で作成するMediatorのPodに割り当てるConsensusLogの永続ボリュームのストレージクラス名を設定してください。 |
String |
− |
なし 必ず設定してください。 |
|
|
Mediatorのhttpポート番号を設定してください。 動的ポートなど、ほかのポートと重ならないよう設定してください。 なお、この設定値はトランザクションヘルスチェックスクリプトおよび未決着トランザクション待機スクリプトのコマンド引数のhttpポート番号にも使用します。 |
Integer |
1,024-65,535 |
20,554 |
|
|
MediatorのgRPCを受信するポート番号を設定してください。 動的ポートなど、ほかのポートと重ならないよう設定してください。 |
Integer |
1,024-65,535 |
20,551 |
|
|
暗号化通信をするかどうかを指定します。 true:暗号化通信をします。 false:暗号化通信をしません。 |
Boolean |
true|false |
false |
|
|
「(3) TP1-Bridge、MediatorのgRPC通信機能の暗号化通信用シークレットの作成」でユーザが作成した「MediatorのgRPC通信機能の暗号化通信用シークレット」のKubernetesオブジェクト名称を指定します。 |
String |
− |
なし grpc.useTlsにtrueを設定した場合は、必ず設定してください。 |
|
|
クライアント認証を行うかどうかを指定します。 true:クライアント認証をします。 false:クライアント認証をしません。 このパラメタにtrueを設定する場合は、grpc.useTlsにもtrueを必ず設定してください。 |
Boolean |
true|false |
false |
|
|
PING要求電文の送信間隔を秒単位で指定します。 0を指定した場合はPING要求電文を送信しません。1〜9を指定した場合は10秒となります。 ネットワーク機器の無通信監視タイマなどによるTCPコネクション切断回避が目的の場合は、無通信監視タイマ値より小さい値を指定してください。 |
Integer |
0-100,000 |
0 |
|
|
PING応答電文の応答待ち時間を秒単位で指定します。 PING要求電文の送信後、このタイマの指定値以内にPING応答電文を受信できない場合はTCPコネクションを切断します。 |
Integer |
1-65,535 |
60 |
|
|
Mediatorが管理するProposal Logが、Participantからトランザクション完了通知を受信できないで、滞留してしまった場合にProposal Logとして許容できる数(Proposal Logが保存を許容できるグローバルトランザクション数)を指定します。 滞留したProposal Logがこのパラメタの件数を超えた場合、トランザクションの完了を確認するためMediatorからParticipantへトランザクション完了確認通知を送信します。 このパラメタの件数が小さ過ぎる場合、トランザクション完了通知の送信頻度が多くなり、通信量が増加します。 このパラメタの件数が大き過ぎる場合、トランザクション完了通知の送信頻度が少なくなり、メモリを圧迫します。 Proposal Logに使用するメモリ量は、グローバルトランザクションに含まれるParticipantの構成によって可変となります。 Proposal Log 1件当たりのメモリ使用量は次のとおりです。 1,400+(800×トランザクションに参加したParticipant数) |
Integer |
1-17,000 |
512 |
|
|
共通のtracing.instance-idと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.urlと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.use-traceと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.debugと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.queue-sizeと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.delay-time-in-millisと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.batch-sizeと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
共通のtracing.grpc.debugと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
|
Mediatorコンテナのタイムゾーンを指定します。ユーザ責務のKubernetes アプリケーションと同じタイムゾーンに設定することを推奨します。 このパラメタに指定した値は環境変数TZユーザに設定します。 このパラメタに指定した値がタイムゾーンとして不正な文字列である場合、Mediatorコンテナのタイムゾーンは協定世界時(UTC)となります。 |
String |
− |
Asia/Tokyo |
|
|
MediatorのJavaプロセス起動時にJava VMに渡すオプションを指定します。 半角スペース区切りで複数のオプションを指定できます。 このパラメタには「-XX:+UseG1GC」オプションを必ず含めてください。「-XX:+UseG1GC」オプションを含めなかった場合、「-XX:+UseG1GC」オプションを含めた場合と比較して、Mediatorの実行性能およびメモリ性能が低下することがあります。 |
String |
− |
-XX:+UseG1GC |
|
|
MediatorコンテナでuCosminexus Application Runtime with Java for Spring Bootを有効にするかどうかを設定します。 true:有効にします(通常版の場合) false:無効にします(トライアル版の場合) |
Boolean |
true|false |
true |
|
|
「3.7.10 uCosminexus Application Runtime with Java for Spring Bootスナップショットログの永続ボリュームおよび永続ボリューム要求のKubernetesマニフェストの作成(通常版限定)」で作成するuCosminexus Application Runtime with Java for Spring BootスナップショットログのPersistentVolumeClaimリソースの名称(.metadata.nameフィールドに指定した値)を設定してください。 |
String |
− |
なし ucars.enabledにtrueを設定した場合は、必ず設定してください。 |
|
|
Orchestratorのuse-scalingと同じです。 「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
||||
- (凡例)
-
−:該当しません。
- 注※
-
コンテナオーケストレーションに設定する値であるため、最大値、最大文字数および許容される文字パターンはコンテナオーケストレーションに依存します。詳細はKubernetesドキュメントを参照してください。