Oracle NoSQL Databaseを構成する前に、ストア内の各ストレージ・ノードについて次のパラメータを決定する必要があります。
KVROOTディレクトリの場所。Oracle NoSQL Databaseストアに格納されるデータを保持するのに十分なディスク領域が各ノードにある必要があります。KVROOTのローカル・ディレクトリ・パスが各ノードで同じである(しかし、共有またはNFSマウントされたディレクトリではない)と、最もよいです。この本の例では、KVROOTディレクトリがすでに存在するものとします。
Oracle NoSQL DatabaseがアクセスされるTCP/IPポート。このポートは各ノードで空いている(未使用である)必要があります。レジストリ・ポートと呼ばれる場合もあります。この本の例では、ポート5000を使用します。
Oracle NoSQL DatabaseのWebベースの管理コンソールがアクセスされるポート。このポートは、管理プロセスが実行されるノードでのみ空いている必要があります。この本の例では、ポート5001を使用します。
管理プロセスは複数のノードにレプリケートされることがあるため、管理プロセスが実行されるすべてのマシンでポートが使用可能である必要があることに注意してください。このようにすると、あるマシンで管理プロセスに障害が発生した場合に、別のマシンでhttp Webサービスを引き続き使用できます。実際は管理プロセスを実行するノードごとに異なるポートを使用できることに注意してください。しかし、単純化を図るなら、同じものを使用することをお薦めします。
レプリケーション・ノード間の通信に使用される空きポートの範囲。これらのポートは連続していて、ストア内の各ストレージ・ノードで稼働するレプリケーション・ノードの数以上である必要があります。ポートの範囲は"startPort,endPort"のように指定します。この本の例では、"5010,5020"を使用します。
RMIベース・サービスのエクスポート時にストレージ・ノードまたはレプリケーション・ノードで使用される可能性のある、空きポートの2番目の範囲。この範囲の指定は任意であり、デフォルトではあらゆる使用可能ポートが、ストレージ・ノードまたはレプリケーション・ノードのサービスのエクスポート時に使用される可能性があります。値の文字列の形式は、"startPort,endPort"です。このパラメータは、ストアを構成するクライアントとノード間にファイアウォールがあり、そのファイアウォールが特定ポートへのアクセスの制限に使用されている場合に有用です。servicePortRangeの詳細は、ストア・パラメータの設定に関する項を参照してください。
ストレージ・ノードがサポートできるレプリケーション・ノードの総数。容量はオプションのパラメータです。容量は、複数のレプリケーション・ノードをサポートするのに十分なディスク、CPUおよびメモリーがストレージ・ノードにある場合、1より大きい値に設定できます。この値のデフォルトは"1"です。この本の例では、"1"を容量として使用します。
レプリケーション・ノードに使用可能なマシン上のプロセッサの総数。これは、レプリケーション・ノード間のプロセッサの使用の調整に使用されます。値が0の場合、マシンのプロセッサの数を判断するためにシステムによってストレージ・ノードに問合せが行われます。この値のデフォルトは"0"です。この本の例では、"0" numCPUsを使用します。
マシンで使用可能なメモリーのメガバイトの総数。これは、レプリケーション・ノードのヒープ・サイズおよびキャッシュ・サイズの指定に使用されます。この計算は、ストレージ・ノードが複数のレプリケーション・ノードをホストする場合により重要になり、このプロセス間でメモリーを割り当てる必要があります。値が0の場合、ストアがマシンのメモリー容量を判断しようとしますが、その値は、使用されているJVMがOracle Hotspot JVMの場合にのみ使用できます。デフォルト値は、"0"です。この本の例では、"0"を使用します。
この情報を決定したら、インストールを構成します。
makebootconfig
ユーティリティを使用して、初期"boot config"構成ファイルを作成します。これをOracle NoSQL Databaseの各ノードで行います。初期Oracle NoSQL Database管理プロセスをホストするノードでのみ-adminオプション(管理コンソール・ポート)を指定する必要があります。(このインストール手順の後半で、追加の管理プロセスをデプロイします。)
"boot config"ファイルを作成するには、次のコマンドを発行します。
> mkdir -p KVROOT (if it does not already exist) > java -jar KVHOME/lib/kvstore.jar makebootconfig -root KVROOT \ -port 5000 \ -admin 5001 \ -host <hostname> \ -harange 5010,5020 \ -capacity 1 \ -numCPUs 0 \ -memory_mb 0
Oracle NoSQL Databaseの各ノードでOracle NoSQL Databaseストレージ・ノード・エージェント(SNA)を起動します。SNAは、各ノードでOracle NoSQL Databaseプロセスを管理します。これには、start
ユーティリティを使用できます。
nohup java -jar KVHOME/lib/kvstore.jar start -root KVROOT&
jps -m
コマンドを使用してOracle NoSQL Databaseプロセスが実行されていることを確認します。
> jps -m 29400 ManagedService -root /tmp -class Admin -service BootstrapAdmin.13250 -config config.xml 29394 StorageNodeAgentImpl -root /tmp -config config.xml
ping
コマンドを使用して、Oracle NoSQL Databaseクライアント・ライブラリでOracle NoSQL Databaseストレージ・ノード・エージェント(SNA)にアクセスできることを確認します。
> java -jar KVHOME/lib/kvstore.jar ping -port 5000 -host node01
SNAが実行されている場合、次の出力が表示されます。
SNA at hostname: node01, registry port: 5000 is not registered. No further information is available
このメッセージはエラーではなく、SNプロセスのみがローカル・ホストで実行されていることを示しています。Oracle NoSQL Databaseが完全に構成されると、pingオプションでこれ以外の情報も表示されます。
SNAにアクセスできない場合、かわりに次のように表示されます。
Could not connect to registry at node01:5000 Connection refused to host: node01; nested exception is: java.net.ConnectException: Connection refused
ストレージ・ノードが起動しない場合、問題を特定するには、KVROOTディレクトリのadminbootログおよびsnabootログを確認します。
-hostホストを使用して、リモート・ホストのSNAを確認することもできます。
> java -jar KVHOME/lib/kvstore.jar ping -port 5000 -host node02 SNA at hostname: node02, registry port: 5000 is not registered. No further information is available
ストレージ・ノードがすべて正常に起動されたら、KVStoreを構成できます。これは、次の章で説明します。
最善の結果を得るには、ノードの起動時にSNAが自動的に起動されるようノードを構成します。これを行う方法は、オペレーティング・システムの設計方法によって異なるため、このマニュアルの範囲ではありません。起動時のアプリケーションの自動起動については、オペレーティング・システムのドキュメントを参照してください。