この章では、Oracle Coherence for Java(略してCoherence)のインストール手順について説明します。Coherence*Extendクライアント・ディストリビューション(C++および.NET)またはCoherence*Webのインストール手順については説明していません。これらのコンポーネントのインストール手順の詳細は、それぞれ『Oracle Coherenceクライアント・ガイド』および『Oracle Coherence Oracle Coherence*Webユーザーズ・ガイド』を参照してください。
この章は次の各項で構成されています。
開発環境でCoherenceをインストールするために推奨される最小限のシステム要件を次に示します。
インストールするための空きディスク領域: 65MB
1GBのRAM(Javaの最大ヒープ・サイズを512MBとした場合): この容量のRAMでは、すべてのデータのバックアップを格納するように構成された単一ノード上での理想的な150MBの最大キャッシュ・サイズ(150MB x 2)がサポートされ、1/3以上のヒープをスクラッチおよびJVMタスクに使用できます。キャッシュ・サイズの計算の詳細は、Oracle Coherence管理者ガイドを参照してください。
1.6 Update 23 JVM以上
必要なJavaのバージョンをサポートするWindowsベースまたはUNIXベースのシステム
ネットワーク・アダプタ
CoherenceはZIPファイルとして配布されます。ZIPユーティリティかunzipコマンドライン・ユーティリティを使用して、ZIPファイルを対象コンピュータに解凍してください。解凍されたファイルは、coherenceという単一のディレクトリ内に編成されます。このドキュメントでは、coherenceディレクトリへの完全なパスをCOHERENCE_HOMEと呼びます。例: C:\INSTALL_DIR\coherence
次の例では、unzipユーティリティを使用してディストリビューションを/optディレクトリに解凍します。これは、UNIXベースのオペレーティング・システムでの推奨インストール・ディレクトリです。unzipユーティリティが使用できない場合は、対象オペレーティング・システムで提供されているZIPユーティリティを使用してください。
unzip /path_to_zip/coherence-version_number.zip -d /opt
次の例では、Windowsオペレーティング・システム上でunzipユーティリティを使用してディストリビューションをC:\ディレクトリに解凍します。
unzip C:\path_to_zip\coherence-version_number.zip -d C:\
COHERENCE_HOMEに含まれるディレクトリは、次のとおりです。
bin: このディレクトリには、キャッシュ・サーバーの起動、開発ツールの起動、ネットワーク・タスクの実行など、様々なタスクを実行するための共通のスクリプト・セットが含まれています。スクリプトは、Windowsベース(.cmd)とUNIXベース(.sh)の両方の形式が用意されています。
doc: このディレクトリにはCoherenceのドキュメントへのリンクが含まれています。
lib: このディレクトリには、提供されているすべてのライブラリが含まれています。coherence.jarは主要な開発およびランタイム・ライブラリです。このライブラリについては、このドキュメント全体を通じて詳細に説明しています。
次のシステム環境変数を設定することもできますが、Coherenceを実行するために必ず設定しなければならないわけではありません。
JAVA_HOME: この変数はCOHERENCE_HOME/binディレクトリに含まれるスクリプトを実行するときに使用されます。この変数の値はJavaインストール・ディレクトリへのフル・パスです。JAVA_HOMEが設定されていない場合は、コンピュータのデフォルトのJavaインストール・ディレクトリが使用されます。この変数を設定すると、スクリプトで特定のJavaバージョンが使用されるようにすることができます。
COHERENCE_HOME: この変数は、通常は便宜上設定されるものです。この変数の値はINSTALL_DIR/coherenceディレクトリへのフル・パスです。
COHERENCE_HOME/binディレクトリには、開発およびテストの際に使用される、設計用に提供された2つのスクリプトが含まれています。cache-serverスクリプトはデフォルト構成を使用してキャッシュ・サーバーを起動します。coherenceスクリプトは、デフォルト構成を使用してキャッシュ・ファクトリ・インスタンスを起動します。キャッシュ・ファクトリ・インスタンスには、特にキャッシュの作成と操作に使用されるコマンドライン・ツールが含まれています。
この例では、基本的なクラスタを作成した後、クラスタにホストされるキャッシュをコマンドライン・ツールを使用して作成および操作します。
この手順では、キャッシュ・サーバーと2つのキャッシュ・ファクトリ・インスタンスという3つの独立したJavaプロセスで構成される基本的なクラスタを作成します。簡素化を図るため、この2つのプロセスは単一のマシン上に置かれます。この3つのプロセスは1つのコンピュータ上に共存します。キャッシュ・サーバーは、デフォルトで、バックアップ・データを格納するように構成されます。2つのキャッシュ・ファクトリ・インスタンスは、デフォルトで、バックアップ・データを格納しないように構成されます。各プロセスが起動されるたびに、それら3つのプロセスが自動的に結合され、クラスタ・メンバー(クラスタ・ノードとも呼ばれる)となります。
この例では、これらのクラスタ・メンバーがネットワーク上で実行されている可能性のある既存のCoherenceクラスタに参加しないようにするために、Coherenceの出荷状態のデフォルト構成を多少修正してプライベートなクラスタを作成します。
|
注意: Coherenceは、デフォルトではマルチキャストを使用してクラスタ・メンバーを検出します。ネットワークでマルチキャストを使用できない場合は、ユニキャストを使用するようにCoherenceを構成できます。詳細は、「Well Knownアドレスの使用」を参照してください。 |
基本的なクラスタを作成するには:
テキスト・エディタを使用してCOHERENCE_HOME/bin/cache-serverスクリプトを開きます。
java_opts変数を修正します。次のように、システム・プロパティtangosol.coherence.clusterおよびtangosol.coherence.clusterportを含めてください。
set java_opts="-Xms%memory% -Xmx%memory% -Dtangosol.coherence.cluster=cluster_name -Dtangosol.coherence.clusterport=port"
cluster_nameおよびportを、クラスタ内で一意の値に置き換えます。たとえば、クラスタ名に自分の名前を使用し、ポート番号に電話番号の最後の4桁を使用します。
cache-serverスクリプトを保存して閉じます。
COHERENCE_HOME/bin/coherenceスクリプトに対してステップ1から3を繰り返します。
cache-serverスクリプトを実行します。キャッシュ・サーバーが起動し、このクラスタ・メンバーに関する情報が出力されます。
coherenceスクリプトの2つのインスタンスを実行します。インスタンスが起動するたびに、それぞれのクラスタ・メンバーに関する情報が出力されます。インスタンスはそれぞれ、コマンドライン・ツールのコマンド・プロンプトを返します。
この手順では、キャッシュが作成され、基本クラスタ上でホストされます。最初のキャッシュ・ファクトリ・インスタンスのコマンドライン・ツールを使用して、単純な文字列がキャッシュに入力されます。次に、2番目のキャッシュ・ファクトリ・インスタンスのコマンドライン・ツールを使用して、キャッシュから文字列が読み出されます。サンプルは非常に単純であり、あまり実用的ではありませんが、Coherenceキャッシュの出荷時の特性を端的に示しています。さらに、これらの手順は、通常はCoherence APIを使用して直接実行されます。
キャッシュを作成するには:
いずれかのキャッシュ・ファクトリ・インスタンスのコマンド・プロンプトで、cacheコマンドを使用してTestという名前のキャッシュを作成します。
cache Test
コマンド・プロンプトでputコマンドを使用してキーと値の組合せを入力することにより(空白で区切る)、単純な文字列を新しいキャッシュに配置します。
put key1 Hello
コマンドによってnullが返され、表示されます。putコマンドは、所定のキーに対して常に前の値を返します。null値が返されたのは、これがそのキーに最初に入力された値だったためです。
もう1つのキャッシュ・ファクトリ・インスタンスに切り替えて、コマンド・プロンプトでcacheコマンドを使用してTestという名前のキャッシュを作成します。
cache Test
このコマンド・プロンプトで、getコマンドを使用してキャッシュ内の文字列を読み出して、次のキー名を入力します。
get key1
コマンドによってhelloが返され、表示されます。キャッシュ・ファクトリ・プロセスが両方とも同一クラスタに属しており、Testキャッシュがすべてのクラスタ・メンバーに認識されているため、どちらのプロセスを使用してもキャッシュ・エントリの追加または削除が可能です。また、キャッシュ・サーバーにキャッシュ・データのバックアップが格納されているため、いずれの(または両方の)キャッシュ・ファクトリ・プロセスがシャットダウンされてもキャッシュ・データは保持されます。