11.2. クラスターでの Red Hat JBoss Data Grid の実行
11.2.1. プロジェクトのコンパイル リンクのコピーリンクがクリップボードにコピーされました!
mvn clean compile dependency:copy-dependencies -DstripVersion
$ mvn clean compile dependency:copy-dependencies -DstripVersion
11.2.2. レプリケーションモードでクラスター化されたキャッシュを実行 リンクのコピーリンクがクリップボードにコピーされました!
手順11.1 レプリケーションモードでクラスター化されたキャッシュを実行
- 次のコマンドを用いて最初のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次のコマンドを用いて、2 つ目のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
両方のノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、キャッシュエントリーのログメッセージが最初のノードのコンソール上に表示されます。
11.2.3. ディストリビューションモードでクラスター化されたキャッシュを実行 リンクのコピーリンクがクリップボードにコピーされました!
手順11.2 ディストリビューションモードでクラスター化されたキャッシュを実行
- 次のコマンドを用いて最初のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次のコマンドを用いて、2 つ目のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次のコマンドを用いて、3 つ目のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3 つのノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、3 番目のノードによって追加された 10 個のエントリーが、最初のノードと 2 番目のノードに分散されたように表示されます。
11.2.4. クラスターの設定 リンクのコピーリンクがクリップボードにコピーされました!
手順11.3 クラスターの設定
- 新しいクラスターのデフォルト設定を追加します。
- ネットワークの要件に従って、デフォルトのクラスター設定をカスタマイズします。カスタマイズは宣言的 (XML を使用) またはプログラム的に行います。
- レプリケートされたデータグリッドまたは分散されたデータグリッドを設定します。
11.2.4.1. デフォルトクラスター設定の追加 リンクのコピーリンクがクリップボードにコピーされました!
例11.2 デフォルト設定
new ConfigurationBuilder() .clustering().cacheMode(CacheMode.REPL_SYNC) .build()
new ConfigurationBuilder()
.clustering().cacheMode(CacheMode.REPL_SYNC)
.build()
注記
GlobalConfigurationBuilder().clusteredDefault()
を使用して、事前設定されたクラスター対応の GlobalConfiguration
を迅速に作成します。この設定はカスタマイズ可能です。
11.2.4.2. デフォルトクラスター設定のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
以下の GlobalConfiguration コードを使用して、JGroups の設定に使用するファイルの名前を指定します。
new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml") .build()
new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml")
.build()
jgroups.xml
を希望のファイル名に置き換えます。
jgroups.xml
ファイルは Infinispan-Quickstart/clustered-cache/src/main/resources/
にあります。
注記
-Djgroups.bind_addr="127.0.0.1"
を使用します。これは、すべてのノードが 1 つのマシン上にある状態でクラスターをテストする場合に特に便利です。
infinispan.xml
ファイルにある以下の XML スニペットを使用して、 Red Hat JBoss Data Grid の XML 設定を使用するよう JGroups プロパティーを設定します。
11.2.4.3. レプリケートされたデータグリッドの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のコードスニペットを使用して、レプリケーションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。
infinispan.xml
ファイルを編集して次の XML コードが含まれるように、レプリケーションモードのキャッシュを宣言的に設定します (同期または非同期)。
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException { return new DefaultCacheManager("infinispan.xml");}
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException {
return new DefaultCacheManager("infinispan.xml");}
注記
org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.infinispan
などのエラーが表示されることがあります。
11.2.4.4. 分散されたデータグリッドの設定 リンクのコピーリンクがクリップボードにコピーされました!
numOwners
パラメーターによって制御され、各エントリーの「所有者」の数が示されます。
numOwners
の値を調整し、容量、永続性、および可用性のバランスが取れるように設定してください。JBoss Data Grid のトポロジーに対応する一貫性のあるハッシュによって、永続性がさらに向上されます。このようなハッシュは、さまざまなデータセンター、ラック、およびノードの全体でエントリーの「所有者」を検索します。
次のように、ディストリビューションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。
new ConfigurationBuilder() .clustering() .cacheMode(CacheMode.DIST_SYNC) .hash().numOwners(2) .build()
new ConfigurationBuilder()
.clustering()
.cacheMode(CacheMode.DIST_SYNC)
.hash().numOwners(2)
.build()
infinispan.xml
ファイルに次の XML コードが含まれるようにし、ディストリビューションモードのキャッシュを宣言的に設定します (同期または非同期)。