7.3.1 Mediator
Mediatorのパラメタを説明します。
- 〈この項の構成〉
(1) Helmチャートのパラメタ
Helmチャートの各パラメタの値は設定範囲に従って設定してください。
次の表に記載されていないパラメタは設定を変更しないでください。
|
パラメタ |
説明 |
型 |
設定範囲 |
デフォルト値 |
|---|---|---|---|---|
|
namespace |
MediatorのNamespace名を設定してください。 |
String |
− |
my-namespace |
|
replicas |
起動するMediator数を設定してください。 Orchestratorのjp.co.Hitachi.soft.hmppcto.learner.consensus-typeにThree-Quartersを設定した場合は、5以上の値を設定してください。 |
Integer |
2-64 |
なし 必ず設定してください。 |
|
image |
「3.3.3 Mediatorコンテナイメージの作成(通常版限定)」で作成したMediatorのコンテナイメージを設定してください。 |
String |
− |
なし 必ず設定してください。 |
|
imagePullSecrets |
コンテナイメージをPullする際の資格情報を設定してください。 次のように指定します。 imagePullSecrets: - name: regcred 資格情報が不要な場合は、設定不要です。 |
List<Object> |
− |
[] (半角左角括弧と半角右角括弧です) |
|
imagePullPolicy |
MediatorのコンテナイメージをPullする際のポリシー設定をしてください。 |
String |
IfNotPresent|Always|Never |
IfNotPresent |
|
dependencyCheck.image |
「3.3.4 Dependency-Checkerコンテナイメージの作成(通常版限定)」で作成したDependency-Checkerのコンテナイメージを設定してください。 |
String |
− |
なし dependencyCheck.enabledにtrueを設定した場合は、必ず設定してください。 |
|
dependencyCheck.imagePullPolicy |
Dependency-CheckerのコンテナイメージをPullする際のポリシー設定をしてください。 |
String |
IfNotPresent|Always|Never |
IfNotPresent |
|
dependencyCheck.retryCount |
初期化コンテナで実行するデプロイ依存関係チェックスクリプトのリトライ回数を設定してください。 |
Integer |
0-1080 |
30 |
|
dependencyCheck.retryIntervalSeconds |
初期化コンテナで実行するデプロイ依存関係チェックスクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
10 |
|
dependencyCheck.connectTimeoutSeconds |
初期化コンテナで実行するデプロイ依存関係チェックスクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
dependencyCheck.readTimeoutSeconds |
初期化コンテナで実行するデプロイ依存関係チェックスクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
dependencyCheck.targets |
初期化コンテナで実行するデプロイ依存関係チェックスクリプトのターゲットKubernetesオブジェクト群を設定してください。 指定方法の詳細は「5.5.1 デプロイ依存関係チェックスクリプト(dependency_check.sh)」を参照してください。 |
List<String> |
− |
|
|
livenessProbe.InitialDelaySeconds |
Liveness Probeの初回実行待機秒数を設定してください。 |
Integer |
0以上※ |
180 |
|
livenessProbe.periodSeconds |
Liveness Probeの実行間隔秒数を設定してください。 |
Integer |
1以上※ |
30 |
|
livenessProbe.failureThreshold |
Liveness Probeの最大失敗回数を設定してください。 |
Integer |
1以上※ |
3 |
|
livenessProbe.timeoutSeconds |
Liveness Probeのタイムアウト秒数を設定してください。 |
Integer |
1以上※ |
10 |
|
livenessProbe.healthCheck.retryCount |
Liveness Probeで実行するトランザクションヘルスチェックスクリプトのリトライ回数を設定してください。 |
Integer |
0-1080 |
0 |
|
livenessProbe.healthCheck.retryIntervalSeconds |
Liveness Probeで実行するトランザクションヘルスチェックスクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
0 |
|
livenessProbe.healthCheck.connectTimeoutSeconds |
Liveness Probeで実行するトランザクションヘルスチェックスクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
livenessProbe.healthCheck.readTimeoutSeconds |
Liveness Probeで実行するトランザクションヘルスチェックスクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
postStart.healthCheck.retryCount |
postStartフックで実行するトランザクションヘルスチェックスクリプトのリトライ回数を設定してください。 |
Integer |
0-1080 |
30 |
|
postStart.healthCheck.retryIntervalSeconds |
postStartフックで実行するトランザクションヘルスチェックスクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
10 |
|
postStart.healthCheck.connectTimeoutSeconds |
postStartフックで実行するトランザクションヘルスチェックスクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
postStart.healthCheck.readTimeoutSeconds |
postStartフックで実行するトランザクションヘルスチェックスクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
preStop.waitTransactions.retryCount |
preStopフックで実行する未決着トランザクション待機スクリプトのリトライ回数を設定してください。 |
Integer |
0-1080 |
30 |
|
preStop.waitTransactions.retryIntervalSeconds |
preStopフックで実行する未決着トランザクション待機スクリプトのリトライ間隔秒数を設定してください。 |
Integer |
0-360 |
10 |
|
preStop.waitTransactions.connectTimeoutSeconds |
preStopフックで実行する未決着トランザクション待機スクリプトの接続タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
preStop.waitTransactions.readTimeoutSeconds |
preStopフックで実行する未決着トランザクション待機スクリプトの応答タイムアウト秒数を設定してください。 |
Integer |
1-360 |
10 |
|
terminationGracePeriodSeconds |
Podの安全な停止待機秒数を設定してください。 |
Integer |
0-2147483647 |
330 |
|
participant.sender.threadPoolSize |
MediatorからParticipantへの送信に使用するスレッド数を設定してください。 1トランザクションの分散合意時に、トランザクションに参加したParticipant数分のスレッドを使用して送信します。スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから送信します。 スレッドの空き待ちを回避するための理論上の必要なスレッド数は、同時実行トランザクション数×Participant数です。 ただし、トランザクションの分散合意処理が重ならないかぎりは、理論上の必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1000 |
30 |
|
participant.sender.queueSize |
MediatorからParticipantへの送信に使用するスレッドの割り当て待ちキューのサイズを指定してください。 理論上の必要な設定値は次のとおりです。 {m+(p−1)×m×m}×p×p×t m:トランザクションに参加するMediator数 p:トランザクションに参加するParticipant数 t:同時実行するトランザクション数 |
Integer |
1-2147483647 |
25 |
|
mediator.judge.threadPoolSize |
Mediatorの分散合意処理に使用するスレッド数を設定してください。 スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから処理を実行します。スレッドの空き待ちを発生しないようにするための理論上必要なスレッド数は、トランザクションに参加するParticipant数×同時実行するトランザクション数です。 ただし、処理の実行が重ならないかぎりは、理論上必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1000 |
30 |
|
mediator.judge.queueSize |
Mediatorの分散合意処理に使用するスレッドの割り当て待ちキューのサイズを指定してください。 理論上の必要なスレッド数は次のとおりです。 {m+(p−1)×m×m}×p×t m:トランザクションに参加するMediator数 p:トランザクションに参加するParticipant数 t:同時実行するトランザクション数 |
Integer |
1-2147483647 |
25 |
|
grpc.server.threadPoolSize |
Mediatorが受信に使用するスレッド数を設定してください。 スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから処理を実行します。スレッドの空き待ちを発生しないようにするための理論上必要なスレッド数は、トランザクションに参加するParticipant数×同時実行するトランザクション数です。 ただし、処理の実行が重ならないかぎりは、理論上必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1000 |
30 |
|
grpc.server.queueSize |
Mediatorが受信に使用するスレッドの割り当て待ちキューのサイズを指定してください。 理論上の必要なスレッド数は次のとおりです。 [{m+(p−1)×m×m}×p+1]×t m:トランザクションに参加するMediator数 p:トランザクションに参加するParticipant数 t:同時実行するトランザクション数 |
Integer |
1-2147483647 |
25 |
|
consensusLog.size |
ConsensusLogファイルに保持するConsensusLogの数を設定してください。 TPS(1秒当たりのトランザクション処理件数)×8以上を設定してください。 この設定値を超えるConsensusLogの保持が発生した場合、該当するMediatorは分散合意に参加しません。 なお、この設定値に1024(1つのConsensusLogのサイズ)を乗算し、1,048,576(ボリュームの書き込み容量不足にならないための予備サイズ(1MB))を加算したサイズを、MediatorのPodに割り当てるConsensusLogの永続ボリュームクレームのサイズに使用します。 |
Long |
256-100000 |
256 |
|
consensusLog.io.threadPoolSize |
ConsensusLogファイルへの書き込みに使用するスレッド数を設定してください。 スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから処理を実行します。スレッドの空き待ちを発生しないようにするための理論上必要なスレッド数は、同時実行するトランザクション数です。 ただし、処理の実行が重ならないかぎりは、理論上必要なスレッド数は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-1000 |
12 |
|
consensusLog.io.queueSize |
ConsensusLogファイルへの書き込みに使用するスレッドの割り当てを待つキューのサイズを指定してください。 理論上必要な設定値は、同時実行するトランザクション数です。 ただし、トランザクションの分散合意処理が重ならないかぎりは、理論上必要な設定値は必要ありません。通常はデフォルト値を使用してください。 |
Integer |
1-2147483647 |
25 |
|
consensusLog.io.watchInSeconds |
ConsensusLogファイルへの書き込みおよび読み出し時のIO監視時間を秒で設定してください。0を指定した場合、IO監視を行いません。 この設定値を短く設定すると、IOハングアップした場合に早期に検知できます。ただし、ハードウェアやドライバが障害検知するよりも短い時間を設定するとハードウェアやドライバによる障害理由が失われるおそれがあります。 IO監視時間を超過した場合は障害メッセージを出力します。 |
Integer |
0-3600 |
240 |
|
consensusLog.io.blockSize |
ConsensusLogファイルのブロックサイズをバイトで設定してください。 1024の倍数を設定してください。 ブロックサイズは1回のファイルIOのサイズです。 |
Integer |
1024-16384 |
4096 |
|
consensusLog.storageClassName |
「3.4.2 MediatorのConsensusLogの永続ボリュームおよびストレージクラスのKubernetesマニフェストの作成」で作成するMediatorのPodに割り当てるConsensusLogの永続ボリュームのストレージクラス名を設定してください。 |
String |
− |
なし 必ず設定してください。 |
|
http.port |
Mediatorのhttpポート番号を設定してください。 動的ポートなど、ほかのポートと重ならないよう設定してください。 なお、この設定値はトランザクションヘルスチェックスクリプトおよび未決着トランザクション待機スクリプトのコマンド引数のhttpポート番号にも使用します。 |
Integer |
1024-65535 |
20554 |
|
grpc.port |
MediatorのgRPCを受信するポート番号を設定してください。 動的ポートなど、ほかのポートと重ならないよう設定してください。 |
Integer |
1024-65535 |
20551 |
|
grpc.useTls |
暗号化通信を行うかどうかを指定します。 true:暗号化通信を行います。 false:暗号化通信を行いません。 |
Boolean |
true|false |
false |
|
grpc.tls.secretName |
「(3) MediatorのgRPC通信機能の暗号化通信用シークレットの作成」でユーザが作成した「MediatorのgRPC通信機能の暗号化通信用シークレット」のKubernetesオブジェクト名称を指定します。 |
String |
− |
なし grpc.useTlsにtrueを設定した場合は、必ず設定してください。 |
|
grpc.tls.clientAuth.enabled |
クライアント認証を行うかどうかを指定します。 true:クライアント認証を行います。 false:クライアント認証を行いません。 trueを設定する場合は、必ずgrpc.useTlsにtrueを設定してください。 |
Boolean |
true|false |
false |
|
grpc.tls.session.cacheSize |
SSLセッション情報のキャッシュ数を指定します。0を指定するとgRPCのデフォルト値が使用されます。 |
Integer |
0-2147483647 |
0 |
|
grpc.tls.session.timeout |
キャッシュしたSSLセッション情報の保持時間(秒)を指定します。0を指定するとgRPCのデフォルト値が使用されます。 |
Integer |
0-65535 |
0 |
|
grpc.keepalive.interval |
PING要求電文の送信間隔を秒単位で指定します。0を指定した場合はPING要求電文を送信しません。1〜9を指定した場合は10秒となります。 ネットワーク機器の無通信監視タイマなどによるTCPコネクション切断回避が目的の場合は、無通信監視タイマ値より小さい値を指定してください。 |
Integer |
0-100000 |
0 |
|
grpc.keepalive.timeout |
PING応答電文の応答待ち時間を秒単位で指定します。 PING要求電文の送信後、このタイマの指定値以内にPING応答電文を受信できない場合はTCPコネクションを切断します。 |
Integer |
1-65535 |
60 |
|
grpc.watchtime |
Participantへの要求電文に対する応答電文の待ち時間を秒単位で指定します。0を指定した場合は、タイマ監視をせずに無限に応答を待ちます。 MediatorからParticipantに要求電文を送信すると、Participantからはすぐに要求を受け付けた旨の応答電文を送信するため、応答電文の待ち時間はgRPC通信の送受信時間として許容できる待ち時間となります。 |
Integer |
0-65535 |
5 |
|
mediator.judge.proposalLogLimitNum |
Mediatorが管理するProposal Logが、Participantからトランザクション完了通知を受信できないで、滞留してしまった場合にProposal Logとして許容できる数(Proposal Logが保存を許容できるグローバルトランザクション数)を指定します。 滞留したProposal Logがこのパラメタの件数を超えた場合、トランザクションの完了を確認するためMediatorからParticipantへトランザクション完了確認通知を送信します。 このパラメタの件数が小さ過ぎる場合、トランザクション完了通知の送信頻度が多くなり、通信量が増加します。 このパラメタの件数が大き過ぎる場合、トランザクション完了通知の送信頻度が少なくなり、メモリを圧迫します。 Proposal Logに使用するメモリ量は、グローバルトランザクションに含まれるParticipantの構成によって可変となります。 Proposal Log 1件当たりのメモリ使用量は次のとおりです。 1400+(800×トランザクションに参加したParticipant数) |
Integer |
1-17000 |
512 |
|
tracing.instanceId |
共通のtracing.instance-idと同じです。「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
|||
|
tracing.url |
共通のtracing.urlと同じです。「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
|||
|
tracing.traceUse |
共通のtracing.trace-useと同じです。「(1) jp.co.Hitachi.soft.hmppctoのパラメタ」を参照してください。 |
|||
|
timezone |
Mediatorコンテナのタイムゾーンを指定します。ユーザ責務のKubernetes アプリケーションと同じタイムゾーンに設定することを推奨します。 このパラメタに指定した値は環境変数TZユーザに設定します。 このパラメタに指定した値がタイムゾーンとして不正な文字列である場合、Mediatorコンテナのタイムゾーンは協定世界時(UTC)となります。 |
String |
− |
Asia/Tokyo |
|
java.options |
MediatorのJavaプロセス起動時にJava VMに渡すオプションを指定します。 半角スペース区切りで複数のオプションを指定できます。 このパラメタには「-XX:+UseG1GC」オプションを必ず含めてください。「-XX:+UseG1GC」オプションを含めなかった場合、「-XX:+UseG1GC」オプションを含めた場合と比較して、Mediatorの実行性能およびメモリ性能が低下することがあります。 |
String |
− |
-XX:+UseG1GC |
|
ucars.snapshots.claimName |
「3.4.10 uCosminexus Application Runtime with Java for Spring Bootスナップショットログの永続ボリュームおよび永続ボリューム要求のKubernetesマニフェストの作成(通常版限定)」で作成するuCosminexus Application Runtime with Java for Spring BootスナップショットログのPersistentVolumeClaimリソースの名称(.metadata.nameフィールドに指定した値)を設定してください。 |
String |
− |
なし 必ず設定してください。 |
- (凡例)
-
−:該当しません。
- 注※
-
コンテナオーケストレーションに設定する値であるため、最大値、最大文字数および許容される文字パターンはコンテナオーケストレーションに依存します。詳細はKubernetesドキュメントを参照してください。