マルチマスター非同期レプリカ生成の場合、一連のカタログ・サービス・ドメイン同士を
リンクします。そうすると、接続されたカタログ・サービス・ドメインは、リンクを介したレプリカ生成を使用して
同期化されます。リンクを定義するには、プロパティー・ファイルを使用するか、実行時に
Java Management Extensions (JMX) プログラムを使用するか、またはコマンド行ユーティリティーを
使用できます。ドメインの現在のリンク・セットは、カタログ・サービス内に保管されます。データ・グリッドを
ホスティングするカタログ・サービス・ドメインを再始動せずに
リンクを追加および削除できます。
始める前に
- マルチマスター・レプリカ生成トポロジーおよび設計上の考慮事項の詳細については、複数データ・センター・トポロジーの計画を参照してください。
カタログ・サービス・ドメイン間のリンクは、サーバー・プロパティー・ファイルを使用して構成でき、サーバー開始時に
トポロジーを形成できます。リンクは実行時にも構成できます。
- マルチマスター・レプリカ生成トポロジーでローダーを使用する場合は、データ・センター間で
正確なデータをどのように維持していくか計画する必要があります。使用できるアプローチは、使用するトポロジーによって異なります。詳しくは、マルチマスター・トポロジーでのローダーについての考慮事項を参照してください。
手順
- ブートストラップのために、トポロジー内の各カタログ・サービス・ドメインの
カタログ・サーバーのサーバー・プロパティー・ファイル内にリンクを定義します。
カタログ・サーバーのこのファイルを定義する方法の詳細については、サーバー・プロパティー・ファイルを参照してください。
重要: プロパティー名では大/小文字が区別されます。
- ローカル・ドメイン・ネーム:
- 現行カタログ・サーバーのカタログ・サービス・ドメインの名前 (例えば、ドメイン A) を
指定します。
domainName=A
- 外部ドメイン・ネームのオプション・リスト:
マルチマスター・レプリカ生成トポロジー内のリンク先の
カタログ・サービス・ドメインの名前 (例えば、ドメイン B) を指定します。
foreignDomains=B
- 外部ドメイン・ネームのエンドポイントのオプション・リスト:
- 外部ドメイン (ドメイン B など) のカタログ・サーバーの接続情報を指定します。
B.endPoints=hostB1:2809, hostB2:2809
外部ドメインに複数のカタログ・サーバーがある場合には、すべてを指定します。
- xscmd ユーティリティーまたは JMX プログラミングを使用して、実行時にリンクを追加または削除します。
ドメインのリンクは、複製メモリー内のカタログ・サービスで保持されます。
このリンク・セットは、このドメインまたはその他のドメインを再始動することなく、いつでも管理者が変更できます。
xscmd ユーティリティーには、リンクを処理するためのいくつかのオプションが用意されています。
xscmd ユーティリティーは特定のカタログ・サービス、すなわち
単一カタログ・サービス・ドメインに接続します。
そのため、xscmd ユーティリティーを使用して、接続先のドメインと
任意のその他のドメインとの間のリンクを作成および破棄できます。
例えば以下のように、コマンド行を使用して、リンクを作成します。
xscmd –c establishLink -cep host:2809 -fd dname -fe fdHostA:2809,fdHostB:2809
このコマンドは、ローカル・ドメインと dname という
外部ドメインの間に新規リンクを確立します。
dname カタログ・サービスは、fdHostA:2809 および fdHostB:2809 で実行されています。
ローカル・カタログ・サービス・ドメインには、カタログ・サービス・リスナー・ホストと
host:2809 のポートがあります。外部ドメインからのすべてのカタログ・サービス・エンドポイントを指定して、ドメインへのフォールト・トレランス接続を可能にします。外部カタログ・サービス・ドメインのカタログ・サービスの場合、使用する host:port ペアを
単一にしないでください。
xscmd では -cep オプションを指定して、任意の
ローカル・カタログ・サービス JVM を使用できます。カタログ・サーバーが WebSphere Application Server デプロイメント・マネージャー内で
ホスティングされている場合、ポートは通常 9809 です。
外部ドメインに指定するポートは、非 JMX ポートです。eXtreme Scale クライアントで使用する通常のポートです。
新規リンクを追加するコマンドの発行後に、カタログ・サービスは外部ドメインへの複製を開始するように、管理下のすべてのコンテナーに指示します。
リンクは、両側には必要ありません。
リンクは片側で作成するだけで十分です。
例えば以下のように、コマンド行を使用して、リンクを削除します。
xscmd –c dismissLink -cep host:2809 -fd dname
このコマンドはドメインのカタログ・サービスに接続して、
特定のドメインへの複製を停止するように指示します。
リンクの解除は片側からのみ行う必要があります。
2 つのカタログ・サービス・ドメイン間のリンク
カタログ・サービス・ドメイン A と B という 2 つドメインがセットアップされた構成を作成するとします。
ドメイン A 内のカタログ・サーバーのサーバー・プロパティー・ファイルを以下のようにします。
domainName=A
foreignDomains=B
B.endPoints=hostB1:2809, hostB2:2809
ドメイン B 内のカタログ・サーバーのサーバー・プロパティー・ファイルを以下のようにします。
2 つのプロパティー・ファイルが似ていることに着目してください。
domainName=B
foreignDomains=A
A.endPoints=hostA1:2809,hostA2:2809
2 つのドメインを始動すると、以下の特性を備えたすべてのデータ・グリッドがドメイン間で複製されます。
- 固有のドメイン・ネームを持つ専用カタログ・サービスがある
- ドメイン内の他のデータ・グリッドと同じグリッド名である
- ドメイン内の他のデータ・グリッドと同じ数の区画がある
- FIXED_PARTITION データ・グリッドである (PER_CONTAINER データ・グリッドは複製不可)
- ドメイン内の他のデータ・グリッドと同じデータ・タイプが複製される
- ドメイン内の他のデータ・グリッドと同じマップ・セット名、マップ名、および動的マップ・テンプレートがある
カタログ・サービス・ドメインのレプリカ生成ポリシーは無視されます。
前の例は、他のドメインへのリンクを持つように各ドメインを構成する方法を示していますが、
リンクは一方向で定義するだけで十分です。
これは、ハブおよびスポーク・トポロジーでは特に便利であり、構成を大幅に単純化できます。
スポークの追加時にハブ・プロパティー・ファイルを更新する必要はありません。
各スポーク・ファイルにハブの情報を含めるだけで十分です。
同様に、リング・トポロジーでは、各ドメインに、リング内の前と次のドメインへのリンクを含めるだけで十分です。
ハブと 4 つのスポーク (ドメイン A、B、C、D) の場合、以下の例のようなサーバー・プロパティー・ファイルになります。
domainName=Hub
スポーク A のサーバー・プロパティーは次のとおりです。
domainName=A
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
スポーク B のサーバー・プロパティーは次のとおりです。
domainName=B
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
スポーク C のサーバー・プロパティーは次のとおりです。
domainName=C
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
スポーク D のサーバー・プロパティーは次のとおりです。
domainName=D
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
次のタスク
カタログ・サービス・ドメイン間の競合を解決するカスタム競合アービターを指定できます。詳しくは、
マルチマスター・レプリカ生成のためのカスタム・アービターの作成を参照してください。