この項では、ソフトウェアの更新がリリースされた場合のOracle NoSQL Databaseデプロイの更新方法について説明します。
Oracle NoSQL Databaseが初めてインストールされる際、コンピュータごと、または必要に応じて複数のストレージ・ノードによって(NFS経由で)共有されるKVHOMEディレクトリに配置されます。ここでは、この既存のKVHOMEの場所をOLD_KVHOME
と呼びます。
インストールでリリース番号を含める規則をKVHOMEに使用すると、便利です。/var/kv/kv-M.N.O
(M.N.O
はrelease.major.minor番号)のようなKVHOMEの場所を常に使用します。これは、単にディストリビューションを一般的なディレクトリ(この例では、/var/kv)に展開するだけで簡単に行えます。
新規ソフトウェアをインストールする場合、各ノードを再起動する必要があります。Oracle NoSQL Databaseはレプリケートされたシステムであるため、過度なフェイルオーバー・イベントを防ぐには、マスターとして稼働しているノードは、レプリカとマークされているすべてのノードの後に再起動することをお薦めします。次のコマンドによって、マスター・ノードとレプリカ・ノードを区別できます。
java -jar KVHOME/lib/kvstore.jar ping -host <hostname> -port <port>
ストア内のアクティブなノードのホストとレジストリ・ポートを使用します。
新規ソフトウェアにアップグレードするには、システムの各ノード(マシン)に対して次の手順を実行します。これらのステップは、パフォーマンスへの影響を最小限にするために連続して行います。
更新されたソフトウェアを新規KVHOMEディレクトリ(ここでは、NEW_KVHOMEと呼ばれる)に配置します。ノードでNFSを使用してこのディレクトリを共有する場合、これは、共有ディレクトリごとに一度のみ行う必要があります。
再起動時に/etc/init.d、Upstartまたはその他の方法(たとえば、nohup java -jar KVHOME/lib/kvstore.jar start -root <kvroot> ...&
を使用するなど)を使用してストレージ・ノード・エージェントが自動的に起動されるようノードを構成した場合、まず、そのスクリプトがNEW_KVHOMEを指すように変更します。
各KVROOTに対して次のようにします(通常、ノードごとに一度)。
古いコードを使用してストレージ・ノードを停止します。
java -jar OLD_KVHOME/lib/kvstore.jar stop -root <kvroot> \ [-config <configfile>]
新しいコードを使用してストレージ・ノードを再起動します。
nohup java -jar NEW_KVHOME/lib/kvstore.jar start -root <kvroot> \ [-config <configfile>]&
OLD_KVHOMEを参照する管理スクリプトやその他のファイルが変更されていることを確認します。
これを行ったら、OLD_KVHOMEを削除できます。