ストレージ・ノードHAポート範囲の変更
インストールを初めて構成したときに、ノード間の通信に使用されるポートの範囲を定義しました。(このことはインストールの構成パラメータで実行しました。)このポート範囲はHAポート範囲と呼ばれます(HAはHigh Availability (高可用性)の略語であり、ストアのレプリケーション係数を示します)。
HAポート範囲に対して無効な値を誤って使用した場合は、どのストレージ・ノードにも、レプリケーション・ノード(RN)やセカンダリ管理プロセス(管理)をデプロイできません。レプリケーション・ノードを含むストアを初めてデプロイしようとしたとき、問題に気付きます。次のようなことは、ストレージ・ノードでレプリケーション・ノードが起動されなかったことを示します。
-
管理ログに、レプリケーション・ノードが
ERROR_RESTARTING
状態であることを示すエラーが含まれています。再試行回数が多くなると、警告エラーがERROR_NO_RESTART
に変わります。ping
コマンドの出力でレプリケーション・ノードの状態を確認できます。 -
プランが
ERROR
状態になります。CLIのshow plan <planID>
コマンドを使用して履歴の詳細を取得すると、次のようなエラー・メッセージが含まれています。Attempt 1 state: ERROR start time: 10-03-11 22:06:12 end time: 10-03-11 22:08:12 DeployOneRepNode of rg1-rn3 on sn3/farley:5200 [RUNNING] failed. .... Failed to attach to RepNodeService for rg1-rn3, see log, /KVRT3/<storename>/log/rg1-rn3*.log, on host farley for more information.
-
管理CLI
show events
コマンドを使用してアクセスするクリティカル・イベント・メカニズムに、プラン履歴に含まれているものと同じエラー情報を示すアラートが含まれています。 -
ストレージ・ノードまたは管理(あるいはその両方)に関するストアの実行時ログまたはブート・ログに、次のようなポート固有のエラー・メッセージが示されます。
[rg1-rn3] Process exiting java.lang.IllegalArgumentException: Port number 1 is invalid because the port must be outside the range of "well known" ports
次のステップを実行して、構成内の不適切なHAポート範囲に対処できます。Oracle NoSQL Databaseストレージ・ノードをホストする物理ノードで実行する必要のあるステップは、ストレージ・ノードで、という記述で始まります。他のステップは、管理CLIにアクセスできる任意のノードから実行できます。
-
管理CLIを使用して、無効なHAポート範囲の値を含む
plan deploy-sn
コマンドまたはplan deploy-admin
コマンドを取り消します。 -
ストレージ・ノードで、正しく構成されていない既存の
StorageNodeAgentImpl
プロセスとその管理対象プロセスをすべて強制終了します。管理対象プロセスにはパラメータ-root <KVROOT>
が使用されているため、他のプロセスと区別できます。 -
ストレージ・ノードで、KVROOTディレクトリからすべてのファイルを削除します。
-
ストレージ・ノードで、ストレージ・ノードのブートストラップ構成ファイルをKVROOTディレクトリに再作成します。手順は、インストールの構成パラメータを参照してください。
-
ストレージ・ノードで、次のJavaコマンドを使用してストレージ・ノードを再起動します。
java -Xmx64m -Xms64m -jar KVHOME/lib/kvstore.jar restart
-
管理CLIから、初期プランと同じパラメータを使用して、正しいHA範囲の
deploy-sn
またはdeploy-admin
プランを作成および実行できます。