9.3.3 EADS(通常版限定)
EADSをHMP-PCTOで動作させる際に、指定するパラメタを説明します。
EADSのパラメタの設定方法は、次の2とおりに分けられます。
-
EADSサーバ
EADSサーバチャート用values.yamlファイルを編集します。
-
EADSクライアント
Participantの機能を使用するKubernetesアプリケーションのKubernetesマニフェストを編集します。
なお、EADSのデフォルト値のままとする設定は記載されていません。
プロパティの仕様や指定方法については、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照してください。
マニュアル「Elastic Application Data Store ユーザーズガイド」に記載されている見積もり式で使用するパラメタのうち、EADSパラメタに依存しないパラメタは次のとおりです。
|
パラメタ |
値 |
説明 |
|---|---|---|
|
キャッシュ数 |
1 |
ディスクキャッシュを1個だけ使用します。 さらにそのキャッシュではデータ自動削除機能(FIFOモード)を有効にします。 詳細は「(g) eads_cache.<キャッシュ名>.properties(キャッシュ定義ファイル)」を参照してください。 |
|
EADS サーバに格納される key の最大サイズ(単位:バイト) |
164 |
最大160文字(ASCIIコード)で構成された文字列です。 マニュアル「Elastic Application Data Store ユーザーズガイド」から、160+4で見積もっています。 |
|
EADS サーバに格納される value の最大サイズ(単位:バイト) |
17 |
最大8文字(ASCIIコード)で構成されたJavaのjava.lang.String型インスタンスであり、java.io.ObjectOutputStream クラスで直列化したあとのバイト数は最大15バイトになります。 マニュアル「Elastic Application Data Store ユーザーズガイド」から、15+2で見積もっています。 |
|
最大同時更新データ数 |
1 |
EADSクライアントのAPIであるputAllおよびgetAllは使用していません。 |
|
ノンブロッキング通信制御 |
不採用 |
ノンブロッキング通信制御は使用していません。 |
|
グループ名の数 |
0 |
グループは使用していません。 |
|
補助合意結果保持件数(クラスタのディスクキャッシュに格納するデータ件数) |
説明欄参照 |
補助合意結果は古い結果から自動削除しますが、トランザクション処理が完了する前に補助合意結果が削除されると分散合意の一貫性が保てなくなるため、トランザクション処理が完了する前に補助合意結果が削除されないよう十分な件数を指定してください。一方で件数が大き過ぎるとディスク使用量が増えるためシステム要件に合わせて指定してください。 具体的には下記計算式で見積もってください。 TPS(件/秒)×MAX※1(最大トランザクション実行時間(秒)+許容する障害時のトランザクション実行遅延時間(秒), 1)×安全係数※2 |
|
1レンジ当たりのデータ件数 |
説明欄参照 |
補助合意結果保持件数×余裕値係数※3÷EADSサーバの台数 |
|
1EADSサーバへのデータの更新操作のスループット(単位:件/秒) |
説明欄参照 |
TPS(件/秒)÷EADSサーバの台数 |
|
1EADS サーバの1時間当たりの更新回数(単位:件/時) |
説明欄参照 |
1EADSサーバへのデータの更新操作のスループット(件/秒)×3,600(秒/時) |
|
コンパクションの実施間隔(単位:秒) |
600 |
左記の値(600)はデフォルト値です。 コンパクションの実施間隔を変更したい場合は「(21) EADSのセットアップ(通常版限定)」で、eztool compactionコマンドを定期的に実行する際のeads-command-cronjob-chart.tgzで指定するscheduleフィールドの値を変更してください。 マニュアル「Elastic Application Data Store ユーザーズガイド」の見積もり式の「コンパクションの実施間隔(単位:時)」には、この値を3,600(秒/時)で割った値を設定してください。 |
- 注※1
-
例えばMAX(A, B)であった場合、AとBのどちらか大きい方の値を返します。
- 注※2
-
安全係数は2以上を推奨します。
- 注※3
-
余裕値係数の見積もり方法の詳細は、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照してください。
- 〈この項の構成〉
(1) EADSサーバのパラメタ
設定が必要なEADSサーバのプロパティファイルのパラメタ値について説明します。
(a) EADSサーバチャート用values.yamlファイル
EADSサーバ用、eztoolコマンド実行用および生存監視ツール実行用のパラメタ指定値は、EADSサーバチャート用values.yamlファイルで設定します。values.yamlのサンプルを次に示します。
values.yamlファイルのサンプルは、取扱説明書「EADSコンテナオーケストレーションツール対応機能」を参照してください。
values.yamlファイルでの設定は、EADSサーバのHelmチャートのパラメタ値およびプロパティファイルに展開されます。
(b) Helmチャートのパラメタ
Helmチャートのパラメタを説明します。
パラメタの仕様や指定方法および、生存監視ツールのパラメタについては、取扱説明書「EADSコンテナオーケストレーションツール対応機能」を参照してください。
|
パラメタ |
説明 |
|---|---|
|
EADSサーバのリリース名を指定します。 このマニュアルでは、eads-serverを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、eads-serverを読み替えてください。 |
|
|
EADSサーバ用サービスのリリース名を指定します。 このマニュアルでは、eads-serviceを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、eads-serviceを読み替えてください。 |
|
|
デプロイ先のNamespace名を指定します。 このマニュアルでは、my-namespaceを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、my-namespaceを読み替えてください。 |
|
|
キャッシュ名を指定します。 このマニュアルでは、hmppctoCacheを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、hmppctoCacheを読み替えてください。 |
|
|
キャッシュに使用する永続ボリュームのアクセスモードとして、StatefulSet定義内のvolumeClaimTemplates配列内のaccessModesフィールドで使用されます。 永続ボリュームをローカル永続ボリューム(local)とする場合、ReadWriteOnceを指定してください。 永続ボリュームをNFSストレージとする場合、ReadWriteManyを指定してください。 |
|
|
キャッシュに使用する永続ボリュームの種類がNFSストレージの場合のStorageClassの名称を指定します。 このマニュアルでは、eads-storageを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、eads-storageを読み替えてください。 |
|
|
ログに使用する永続ボリュームのアクセスモードとして、StatefulSet定義内のvolumeClaimTemplates配列内のaccessModesフィールドで使用されます。 永続ボリュームをローカル永続ボリューム(local)とする場合、ReadWriteOnceを指定してください。 永続ボリュームをNFSストレージとする場合、ReadWriteManyを指定してください。 |
|
|
ログに使用する永続ボリュームの種類がNFSストレージの場合のStorageClassの名称を指定します。 このマニュアルでは、eads-storageを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、eads-storageを読み替えてください。 |
|
|
ログの出力先ディレクトリの種別を指定します。
デフォルトはlocalです。 永続ボリュームをNFSストレージとする場合、nfsを指定してください。 |
|
|
ストアデータファイルに使用する永続ボリュームの種類がNFSストレージの場合のStorageClassの名称を指定します。 このマニュアルでは、eads-storageを指定した前提で各種例を記載しています。それ以外の値を指定する場合は、eads-storageを読み替えてください。 |
(c) eads_command.properties(コマンド定義ファイル)
このファイルでは、設定が必要なEADSサーバのプロパティファイルのパラメタ値はありません。
(d) eads_server.properties(サーバ定義ファイル)
eads_server.propertiesのパラメタについて説明します。
values.yamlの.properties.server.〜で設定します。
|
パラメタ |
説明 |
|---|---|
|
補助合意の時にEADSサーバに同時にアクセスする最大同時接続数を指定してください。EADSサーバに対してこの値を超過する接続があった場合、その接続は拒否されます。 推奨値は、トランザクションに参加するParticipant数×ParticipantのPodのレプリカの最大数※1×eads.client.connectionPool.poolsize×2(安全係数※2)となります。 |
|
|
eads.server.maxConnectionsに指定した値をこのプロパティにも指定してください。 |
|
|
8,192を指定してください。 |
|
|
EADSサーバによって出力されるメッセージログの、標準出力への出力を有効にするか、無効にするかを指定します。HMP-PCTOのトラブルシュート機能でEADSサーバのログを監視する場合は、trueを指定してください。 |
|
|
SQL-Participant、TCC-Participantが再起動した場合、EADSサーバが検知してからコネクションを切断するまでの時間を指定します。 推奨値は、70秒です。 |
|
|
ハートビートのタイムアウト時間をミリ秒単位で指定します。 10,000を指定してください。ただし、実行環境に影響を受けるため、通信遅延が原因でタイムアウトが頻繁に発生する場合は、長めの値に調整してください。 このパラメタの指定値を変更すると、次のパラメタに影響します。
|
|
|
生存確認の接続タイムアウト時間をミリ秒単位で指定します。 2,500を指定してください。なお、ハートビートのタイムアウト時間(eads.failureDetector.heartbeat.timeout)を変更した場合は、指定値を見直してください。 このパラメタの指定値は、ハートビートのタイムアウト時間の1/4を目安としてください。 |
|
|
生存確認の受信タイムアウト時間をミリ秒で指定します。 2,500を指定してください。なお、ハートビートのタイムアウト時間(eads.failureDetector.heartbeat.timeout)を変更した場合は、指定値を見直してください。 このパラメタの指定値は、ハートビートのタイムアウト時間の1/4を目安としてください。 |
|
|
ログファイルの多重書き込み防止機能を有効にするかを指定します。trueの場合有効となり、それ以外では無効となります。デフォルトはfalse(無効)です。 永続ボリュームをNFSストレージとする場合、trueを指定してください。 多重書き込み防止機能およびこのパラメタの仕様や指定方法については、取扱説明書「EADS コンテナオーケストレーションツール対応機能」を参照してください。 |
- 注※1
-
スケーリング対応機能を使用しない場合は1、スケーリング対応機能を使用する場合はオートスケール用HPAのKubernetesマニフェストに指定した「スケールアウトできる最大のPod数」です。
- 注※2
-
Participantが再起動すると、一時的にEADSサーバに同時にアクセスする接続数が倍になる場合があります。そのための安全係数です。
Participant再起動から、eads.server.connection.keepAlive.time経過後にコネクションが切断されます。eads.server.connection.keepAlive.time間に2回以上Participant再起動を考慮する場合は、安全係数をParticipant再起動回数+1としてください。
(e) eads_shared.properties(共通設定ファイル)
eads_shared.propertiesのパラメタについて説明します。
values.yamlの.properties.shared.〜で設定します。
|
パラメタ |
説明 |
|---|---|
|
(values.yamlの「cluster.replicationFactor」です) |
EADSの多重度を指定してください。 多重度はEADSサーバの障害許容台数+1の値となります。 最低は2です。 2の場合、EADSサーバが1台故障しても、補助合意の継続が保証されます。 |
|
見積もり方法の詳細については、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照ください。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタで見積もった値を指定してください。 |
|
|
見積もり方法の詳細については、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照ください。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタで見積もった値を指定してください。 |
|
|
見積もり方法の詳細については、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照ください。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタで見積もった値を指定してください。 |
|
|
「表9‒14 EADSパラメタに依存しないパラメタ」の「EADS サーバに格納される key の最大サイズ」を指定してください。 |
|
|
見積もり方法の詳細については、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照ください。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタで見積もった値を指定してください。 |
(f) eads_cluster.properties(クラスタ定義ファイル)
eads_cluster.propertiesのパラメタについて説明します。
values.yamlの.cluster.〜で設定します。
|
パラメタ |
説明 |
|---|---|
|
(values.yamlの.cluster.serversです) |
EADSサーバの台数を指定してください。 最低は3台です。 台数を増やすと1台当たりのメモリ・ディスク容量を減らすことができます。 |
(g) eads_cache.<キャッシュ名>.properties(キャッシュ定義ファイル)
eads_cache.<キャッシュ名>.propertiesのパラメタについて説明します。
values.yamlの.caches.properties〜で設定します。
|
パラメタ |
説明 |
|---|---|
|
(values.yamlの.caches.type〜です) |
EADSのキャッシュタイプを指定します。 Diskを指定してください。 |
|
EADSに格納された補助合意結果の、自動削除ポリシーを指定します。 FIFO(古いデータから自動削除)を指定してください。 |
|
|
自動削除でデータを削除するための閾値として使用する1レンジ当たりのデータ件数を指定します。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタの「1レンジ当たりのデータ件数」を指定してください。 |
|
|
キャッシュデータファイルのファイルサイズ(MB)を指定します。 見積もり方法の詳細は、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照ください。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタで見積もった値を指定してください。 |
|
|
キャッシュデータファイルのファイル数を指定します。 見積もり方法の詳細は、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照ください。 「表9‒14 EADSパラメタに依存しないパラメタ」に記載したパラメタで見積もった値を指定してください。 |
|
|
キャッシュファイルの多重書き込み防止機能を有効にするかを指定します。trueの場合有効となり、それ以外では無効となります。デフォルトはfalse(無効)です。 永続ボリュームをNFSストレージとする場合、trueを指定してください。 多重書き込み防止機能およびこのパラメタの仕様や指定方法については、取扱説明書「EADS コンテナオーケストレーションツール対応機能」を参照してください。 |
(h) eads_function.properties(ファンクション定義ファイル)
このファイルでは、設定が必要なEADSサーバのプロパティファイルのパラメタ値はありません。
(i) 注意事項
必要なリソース(メモリ使用量やディスク使用量など)については、マニュアル「Elastic Application Data Store ユーザーズガイド」を参照して、見積もってください。
(2) EADSクライアントのパラメタ
(a) EADSクライアント定義ファイル
EADSクライアント定義ファイルおよびパラメタの詳細についてはマニュアル「Elastic Application Data Store ユーザーズガイド」を参照してください。
ここでは、HMP-PCTOで使用する場合に指定が必要なパラメタについて説明します。次の表で示すパラメタ以外は、デフォルトとしてください。
EADSクライアント定義は、ユーザ責務で作成します。
EADSクライアント定義は、Participantの機能を使用するKubernetesアプリケーションのKubernetesマニフェストでEADSクライアント定義ファイルに設定するように定義します。「2.6.4 Entity-Service(SQL)のKubernetesマニフェストの作成(SQL-Participant限定)」、または「2.6.5 Entity-Service(TCC)のKubernetesマニフェストの作成(TCC-Participant限定)」を参照してください。
|
パラメタ |
説明 |
|---|---|
|
任意の名称を指定してください。 |
|
|
EADSサーバのDNS名※を指定してください。 |
|
|
EADSサーバのポート番号を指定してください。 EADSサーバのポート番号はEADSサーバチャート用values.yamlの.service.serverに指定した値です。 |
|
|
"eads-log"を指定してください。 |
|
|
1を指定してください。 |
- 注※
-
<EADSサーバのDNS名>:<Serviceリリース名>-eads-service-<複製インデックス>.<Namespace名>
・<Serviceリリース名>:EADSサーバデプロイ時のServiceリリース名
・<複製インデックス>:EADSサーバデプロイ時のStatefulSetが複製したEADSサーバPodの名前(<StatefulSetの名前>-[0-9]+)の末尾に割り当てられた数値です。0からシーケンシャルに割り当てられます。
・<Namespace名>:EADSサーバデプロイ時のNamespace名
EADSクライアント定義ファイルの指定例を次に示します。
EADSクライアント定義ファイルの指定例
eads.client.connect.servers=sv1,sv2,sv3 eads.client.sv1.address=eads-service-eads-service-0.my-namespace eads.client.sv1.port=24600 eads.client.sv2.address=eads-service-eads-service-1.my-namespace eads.client.sv2.port=24600 eads.client.sv3.address=eads-service-eads-service-2.my-namespace eads.client.sv3.port=24600 eads.client.logger.dir=eads-log eads.client.connectionPool.poolsize=1