11.2. クラスターでの Red Hat JBoss Data Grid の実行


Red Hat JBoss Data Grid のクラスター化クイックスタートは、https://github.com/infinispan/infinispan-quickstart/tree/master/clustered-cache のクイックスタートを基にしています。

11.2.1. プロジェクトのコンパイル

Maven を使用し、次のコマンドを用いてプロジェクトをコンパイルします。
$ mvn clean compile dependency:copy-dependencies -DstripVersion
Copy to Clipboard Toggle word wrap

11.2.2. レプリケーションモードでクラスター化されたキャッシュを実行

クラスター化されたキャッシュに関する Red Hat JBoss Data Grid のレプリケーションモードの例を実行するには、異なるコンソールで 2 つのノードを開始します。

手順11.1 レプリケーションモードでクラスター化されたキャッシュを実行

  1. 次のコマンドを用いて最初のノードを立ち上げます。
    $ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを用いて、2 つ目のノードを立ち上げます。
    $ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1
    Copy to Clipboard Toggle word wrap
結果

両方のノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、キャッシュエントリーのログメッセージが最初のノードのコンソール上に表示されます。

11.2.3. ディストリビューションモードでクラスター化されたキャッシュを実行

クラスター化されたキャッシュに関する Red Hat JBoss Data Grid のディストリビューションモードの例を実行するには、異なるコンソールで 2 つのノードを開始します。

手順11.2 ディストリビューションモードでクラスター化されたキャッシュを実行

  1. 次のコマンドを用いて最初のノードを立ち上げます。
    $ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを用いて、2 つ目のノードを立ち上げます。
    $ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを用いて、3 つ目のノードを立ち上げます。
    $ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2
    Copy to Clipboard Toggle word wrap
結果

3 つのノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、3 番目のノードによって追加された 10 個のエントリーが、最初のノードと 2 番目のノードに分散されたように表示されます。

11.2.4. クラスターの設定

次の手順に従って、クラスターを追加および設定します。

手順11.3 クラスターの設定

  1. 新しいクラスターのデフォルト設定を追加します。
  2. ネットワークの要件に従って、デフォルトのクラスター設定をカスタマイズします。カスタマイズは宣言的 (XML を使用) またはプログラム的に行います。
  3. レプリケートされたデータグリッドまたは分散されたデータグリッドを設定します。

11.2.4.1. デフォルトクラスター設定の追加

クラスター設定を追加して、クラスターが存在し、定義されていることを Red Hat JBoss Data Grid が確実に認識するようにします。この目的を達成するデフォルト設定は次の通りです。

例11.2 デフォルト設定

new ConfigurationBuilder()
   .clustering().cacheMode(CacheMode.REPL_SYNC)
   .build()
Copy to Clipboard Toggle word wrap

注記

新しい GlobalConfigurationBuilder().clusteredDefault() を使用して、事前設定されたクラスター対応の GlobalConfiguration を迅速に作成します。この設定はカスタマイズ可能です。

11.2.4.2. デフォルトクラスター設定のカスタマイズ

ネットワークの要件によっては、JGroups 設定のカスタマイズが必要なことがあります。
プログラミングによる設定:

以下の GlobalConfiguration コードを使用して、JGroups の設定に使用するファイルの名前を指定します。

new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml")
   .build()
Copy to Clipboard Toggle word wrap
jgroups.xml を希望のファイル名に置き換えます。
jgroups.xml ファイルは Infinispan-Quickstart/clustered-cache/src/main/resources/ にあります。

注記

JGroups を ループバックインターフェースのみにバインドする場合は (設定されたファイアウォールを避けるため)、システムプロパティー -Djgroups.bind_addr="127.0.0.1" を使用します。これは、すべてのノードが 1 つのマシン上にある状態でクラスターをテストする場合に特に便利です。
宣言的な設定:

infinispan.xml ファイルにある以下の XML スニペットを使用して、 Red Hat JBoss Data Grid の XML 設定を使用するよう JGroups プロパティーを設定します。

<global>
   <transport>
      <properties>
         <property name="configurationFile" value="jgroups.xml"/>
      </properties>
   </transport>
</global>
Copy to Clipboard Toggle word wrap

11.2.4.3. レプリケートされたデータグリッドの設定

Red Hat JBoss Data Grid のレプリケートモードは、データグリッドのすべてのノードで各エントリーが確実にレプリケートされるようにします。
このモードは、ノード障害によるデータの損失に対応するセキュリティーを提供し、優れたデータの可用性を提供します。ストレージ容量を、最小メモリーのノードで使用できるストレージの量に制限して、これらの利点を実現します。
プログラミングによる設定:

以下のコードスニペットを使用して、レプリケーションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。

private static EmbeddedCacheManager createCacheManagerProgramatically() {
   return new DefaultCacheManager(
      new GlobalConfigurationBuilder()
         .transport().addProperty("configurationFile", "jgroups.xml")
         .build(),
      new ConfigurationBuilder()
         .clustering().cacheMode(CacheMode.REPL_SYNC)
         .build()
   );
}
Copy to Clipboard Toggle word wrap
宣言的な設定:

infinispan.xml ファイルを編集して次の XML コードが含まれるように、レプリケーションモードのキャッシュを宣言的に設定します (同期または非同期)。

<infinispan xsi:schemaLocation="urn:infinispan:config:6.0 http://www.infinispan.org/schemas/infinispan-config-6.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:infinispan:config:6.0">
   <global>
      <transport>
         <properties>
            <property name="configurationFile" value="jgroups.xml"/>
         </properties>
      </transport>
   </global>
   <default>
      <clustering mode="replication">
         <sync/>
      </clustering>
   </default>
</infinispan>
Copy to Clipboard Toggle word wrap
次のコードを使用して、XML 設定ファイルを持つ DefaultCacheManager を初期化し、返します。
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException {
   return new DefaultCacheManager("infinispan.xml");}
Copy to Clipboard Toggle word wrap

注記

JBoss EAP には独自の基礎となる JMX が含まれています。そのため、JBoss EAP でサンプルコードを使用するときに競合が発生し、org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.infinispan などのエラーが表示されることがあります。
この問題を回避するには、以下のようにグローバル設定を指定します。
GlobalConfiguration glob = new GlobalConfigurationBuilder()
	.clusteredDefault()
        .globalJmxStatistics()
          .allowDuplicateDomains(true)
          .enable()
        .build();
Copy to Clipboard Toggle word wrap

11.2.4.4. 分散されたデータグリッドの設定

Red Hat JBoss Data Grid のディストリビューションモードは、データグリッドの全ノードのサブセット上に各エントリーが確実に格納されるようにします。サブセットのノード数は numOwners パラメーターによって制御され、各エントリーの「所有者」の数が示されます。
ディストリビューションモードではストレージ容量が増えますが、アクセス時間も長くなり、永続性 (ノード障害に対する保護) も低下します。numOwners の値を調整し、容量、永続性、および可用性のバランスが取れるように設定してください。JBoss Data Grid のトポロジーに対応する一貫性のあるハッシュによって、永続性がさらに向上されます。このようなハッシュは、さまざまなデータセンター、ラック、およびノードの全体でエントリーの「所有者」を検索します。
プログラミングによる設定:

次のように、ディストリビューションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。

new ConfigurationBuilder()
   .clustering()
      .cacheMode(CacheMode.DIST_SYNC)
      .hash().numOwners(2)
   .build()
Copy to Clipboard Toggle word wrap
宣言的な設定:

infinispan.xml ファイルに次の XML コードが含まれるようにし、ディストリビューションモードのキャッシュを宣言的に設定します (同期または非同期)。

<default>
   <clustering mode="distribution">
      <sync/>
      <hash numOwners="2"/>
   </clustering>
</default>
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat