Oracle NoSQL Databaseの3つのサービス・タイプ(管理、ストレージ・ノード、レプリケーション・ノード)には構成パラメータがあり、一部はデプロイ後にチューニングできます。変更可能なパラメータ値を表示するには、CLIで次のコマンドを使用します。
show parameters -service <id>
このコマンドでは指定されたサービスのサービス・パラメータおよび状態を表示できます。サービスはレプリケーション・ノード、ストレージ・ノードまたは管理サービスである場合があり、任意の有効な文字列で識別されます。オプションの-policy
フラグを使用するとグローバル・ポリシー・パラメータを表示できます。
パラメータを変更するプランの作成に使用されるすべてのCLIコマンドで、同様の構文を使用します。
plan change-parameters -service <id>...
このようなコマンドのすべてで、同一コマンドラインに複数のParameterName=NewValue
割当て引数を使用できます。NewValueに空白が含まれる場合、割当て引数全体を二重引用符で囲む必要があります。たとえば、管理パラメータcollectorPollPeriodを変更するには、次のようなコマンドを発行します。
kv-> plan change-parameters -all-admins -params \ "collectorPollPeriod=20 SECONDS"
次のコマンドは、サービス・パラメータの変更に使用されます。
plan change-parameters -service <shardId-nodeId> -params [assignments]
このコマンドは、1つのレプリケーション・ノードのパラメータの変更に使用されます。レプリケーション・ノードは、シャード番号とノード番号を使用して指定する必要があります。shardId-nodeId
識別子は、空白を入れずにハイフンを1つ入れて1つの引数として指定する必要があります。
plan change-parameters -all-rns -params [assignments]
このコマンドは、ストア内のすべてのレプリケーション・ノードのパラメータの変更に使用されます。このケースでは、レプリケーション・ノード識別子は必要ありません。
plan change-parameters -service <storageNodeId> -params [assignments]
このコマンドは、1つのストレージ・ノード・インスタンスのパラメータの変更に使用されます。storageNodeIdは単純整数です。
plan change-parameters -all-admins -params [assignments]
このコマンドは、管理パラメータの変更に使用されます。管理の各インスタンスは、レプリケートされた同一サービスの一部であるため、管理のすべてのインスタンスは同時に変更されます。このため、このコマンドには管理識別子は必要ありません。
管理パラメータの変更に管理サービスの再起動が必要な場合、KVAdminとサーバーとの接続は失われます。通常の状況下では、次のコマンドを指定すると、短い休止の後、KVAdminは自動的に再接続されます。この時点で、プランの状態はINTERRUPTED
で、plan execute
コマンドを発行して手動で完了する必要があります。
いずれの場合も、プランの作成および実行を行うか、planコマンドの-noexecute
オプションを使用してプランの作成と実行を別のステップで行うかを選択できます。
ストアのデプロイ時、ほとんどの管理、ストレージ・ノードおよびレプリケーション・ノードのパラメータにはデフォルト値が割り当てられます。デプロイ後に調整するのは不便なため、Oracle NoSQL Databaseにはデプロイ時に使用されるデフォルトを設定する方法が用意されています。これらのデフォルトは、ストア全体ポリシー・パラメータと呼ばれます。
次のコマンドを使用してCLIでポリシー・パラメータを設定できます。
change-policy -params [name=value]
変更するパラメータは-params
フラグの後に続き、スペースで区切られます。スペースが埋め込まれたパラメータ値は、スペースで区切る必要があります。スペースが埋め込まれたパラメータ値は、引用符で囲む必要があります。たとえば、name = "value with spaces"のようになります。オプションのdry-run
フラグが指定された場合、変更は行われずに新規パラメータが返されます。
次のパラメータを管理サービスに対して設定できます。
adminLogFileCount=<Integer>
保持されるログ・ファイルの数を設定します。
adminLogFileLimit=<Integer>
ログ・ファイルのサイズを制限します。この制限に達すると、ロギング・サブシステムは新しいログ・ファイルに切り替わります。
collectorPollPeriod=<Long TimeUnit>
ステータスの更新用に様々なサービスにポーリングする場合の監視サブシステムの遅延を設定します。
loggingConfigProps=<String>
管理プロセスのロギング・サブシステムのプロパティ設定。形式は、property=value;property=value...
です。
eventExpiryAge=<Long TimeUnit>
このパラメータを使用して、管理でのクリティカル・イベント履歴の格納期間を調整します。デフォルト値は、"30 DAYS"です。
configProperties=<String>
これは、基になるBDB JEサブシステムに対するプロパティを設定する多項目の文字列です。形式は、property=value;property=value...
です。
javaMiscParams=<String>
これは、管理プロセスの起動時にコマンドラインに追加される多項目の文字列です。Java VMプロパティを設定するためのものです。
次のパラメータをストレージ・ノードに対して設定できます。
serviceLogFileCount=<Integer>
このストレージ・ノードおよびこのストレージ・ノードでホストされるすべてのレプリケーション・ノードに対して、保持されるログ・ファイルの数を設定します。
serviceLogFileLimit=<Integer>
ログ・ファイルのサイズを制限します。この制限に達すると、ロギング・サブシステムは新しいログ・ファイルに切り替わります。この設定は、このストレージ・ノードおよびこのストレージ・ノードでホストされるすべてのレプリケーション・ノードに適用されます。
haPortRange=<String>
このストレージ・ノードでホストされるレプリケーション・ノードへの割当てに使用可能なポート番号の範囲を定義します。レプリケーション・ノードのデプロイ時、この範囲から自動的にポートが割り当てられます。値の文字列の形式は、"lowport,highport"です。
haHostname=<String>
HAサブシステムで使用されるネットワーク・インタフェースの名前を設定します。
capacity=<Integer>
このストレージ・ノードでホストできるレプリケーション・ノードの数を設定します。この値は、新規レプリケーション・ノードの配置に関する決定を通知するために使用されます。容量は、複数のレプリケーション・ノードをサポートするのに十分なディスク、CPUおよびメモリーがストレージ・ノードにある場合、1より大きい値に設定できます。デフォルト値は1です。
memoryMB=<Integer>
このストレージ・ノードで使用可能とされるメモリー容量(MB)を設定します。この数値は、容量が1より大きい場合、レプリケーション・ノード間で公平にリソースの割当てを通知するために使用されます。デフォルトは0で、これは「不明」を表します。
numCPUs=<Integer>
このストレージ・ノードで使用可能とされるCPUの数を設定します。デフォルト値は1です。
rnHeapPercent=<Integer>
このSNでホストされているすべてのRNプロセスに対して、ヒープに予約されているストレージ・ノードのメモリーの割合を設定します。デフォルト値は85です。
mgmtClass=<String>
管理エージェントの実装を提供するクラスの名前。詳細は、「標準化されたインタフェース監視」を参照してください。
mgmtPollPort=<Integer>
SNMPエージェントがリスニングする対象のポートを設定します。
mgmtTrapHost=<String>
SNMP通知が送信される対象のホストを設定します。
mgmtTrapPort=<Integer>
SNMP通知が送信される対象のポートを設定します。
servicePortRange=<String>
RMIベース・サービスのエクスポート時にストレージ・ノードまたはレプリケーション・ノードで使用される可能性のある、ポートの範囲を設定します。デフォルトではあらゆる使用可能ポートが、ストレージ・ノードまたはレプリケーション・ノードのサービスのエクスポート時に使用される可能性があります。値の文字列の形式は、"lowport,highport"です。
このパラメータは、ストアを構成するクライアントとノード間にファイアウォールがあり、そのファイアウォールが特定ポートへのアクセスの制限に使用されている場合に有用です。この範囲は、ストレージ・ノードだけでなく、マシン上でホストされている(容量パラメータで定義されているとおりの)すべてのレプリケーション・ノードにも対応可能なほどの大きさである必要があります。各ストレージ・ノードは2つのポートを、各レプリケーション・ノードは範囲内の3つのポートを消費します。また、ストレージ・ノードでホストされるレジストリ・サービスは、この範囲内に入るように定義されている場合は1つのポートを消費します。一般的なルールとして、最小値よりも大幅に大きい範囲を指定することが推奨されます。ストレージ・ノード容量の増加や、ポートが一時的に使用不可になるようなネットワークの問題に対応できるためです。
次のパラメータをレプリケーション・ノードに対して設定できます。
collectEnvStats=<Boolean>
trueの場合、基になるBDB JEサブシステムで統計が.statファイルにダンプされます。
maxTrackedLatency=<Long TimeUnit>
レイテンシ・パーセンタイルの計算に含める最大レイテンシ。
configProperties=<String>
基になるBDB JEサブシステムのプロパティ設定を含みます。形式は、property=value;property=value...
です。
javaMiscParams=<String>
レプリケーション・ノード・プロセスの起動時にコマンドラインに追加される文字列。Java VMプロパティを設定するためのものです。
loggingConfigProps=<String>
ロギング・サブシステムのプロパティ設定を含みます。この文字列の形式は、前述のconfigPropertiesと同様のものです。
statsInterval=<Long TimeUnit>
レイテンシ統計の収集期間をこのレプリケーション・ノードに設定します。
cacheSize=<Long>
基になるBDB JEサブシステムのキャッシュ・サイズを設定します。
latencyCeiling=<Integer>
レプリケーション・ノードの平均レイテンシがこのミリ秒値を超えると、アラート対象のイベントとみなされます。このようなイベントは、管理コンソールでポップアップ表示され、管理のデータベースにクリティカルなイベントとして格納されます。SNMPまたはJMXの監視が有効な場合、このイベントによって該当する通知も送信されます。
throughputFloor=<Integer>
latencyCeiling同様、throughputFloorは、レプリケーション・ノードのスループットの下限を設定します。スループットの低下のレポートはアラート対象とみなされます。この値は1秒当たりの操作で示されます。
rnCachePercent=<Integer>
JE環境キャッシュのために保持されるRNメモリーの一部分。