この章では、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タスクに使用できます。キャッシュ・サイズを計算する際の推奨事項の詳細は、「JVMのチューニング」を参照してください。
1.5.x 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
: このディレクトリには、キャッシュ・サーバーの起動、Coherenceの開発コマンドライン・ツールの起動、ネットワーク・タスクの実行など、様々なタスクを実行するための共通のスクリプト・セットが含まれています。スクリプトは、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プロセスで構成される基本的なクラスタを作成します。簡素化を図るため、これら3つのプロセスは単一のマシン上に置かれます。キャッシュ・サーバーは、デフォルトで、バックアップ・データを格納するように構成されます。2つのキャッシュ・ファクトリ・インスタンスは、デフォルトで、バックアップ・データを格納しないように構成されます。各プロセスが起動されるたびに、それら3つのプロセスが自動的に結合され、クラスタ・メンバー(クラスタ・ノードとも呼ばれる)となります。
この例では、これらのクラスタ・メンバーがネットワーク上で実行されている可能性のある既存のCoherenceクラスタに参加しないようにするために、Coherenceの出荷状態のデフォルト構成を多少修正してプライベートなクラスタを作成します。
注意: Coherenceは、デフォルトではマルチキャストを使用してクラスタ・メンバーを検出します。ネットワークでマルチキャストを使用できない場合は、ユニキャストを使用するようにCoherenceを構成できます。ユニキャストを使用するようにクラスタを構成する手順の詳細は、第II部「データ・クラスタの使用方法」を参照してください。 |
基本的なクラスタを作成するには:
テキスト・エディタを使用して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
キャッシュがすべてのクラスタ・メンバーに認識されているため、どちらのプロセスを使用してもキャッシュ・エントリの追加または削除が可能です。また、キャッシュ・サーバーにキャッシュ・データのバックアップが格納されているため、いずれの(または両方の)キャッシュ・ファクトリ・プロセスがシャットダウンされてもキャッシュ・データは保持されます。