6.7. グローバルの永続的な場所


Data Grid は、再起動後にクラスタートポロジーおよびキャッシュされたデータを復元できるようにグローバル状態を保持します。

リモートキャッシュ

Data Grid Server は、クラスターの状態を $RHDG_HOME/server/data ディレクトリーに保存します。

重要

server/data ディレクトリーまたはその内容を削除または変更しないでください。Data Grid は、サーバーインスタンスを再起動すると、このディレクトリーからクラスターの状態を復元します。

デフォルト設定を変更したり、server/data ディレクトリーを直接変更すると、予期しない動作が発生し、データが失われる可能性があります。

組み込みキャッシュ

Data Grid は、グローバルな永続的な場所として user.dir システムプロパティーにデフォルト設定されます。ほとんどの場合、これはアプリケーションが開始するディレクトリーです。

クラスター化された組み込みキャッシュ (レプリケートまたは分散など) の場合は、クラスタートポロジーを復元するためにグローバルの永続的な場所を常に有効にし、設定する必要があります。

グローバルの永続的な場所外にあるファイルベースのキャッシュストアの絶対パスを設定しないでください。この場合、Data Grid は以下の例外をログに書き込みます。

ISPN000558: "The store location 'foo' is not a child of the global persistent location 'bar'"

6.7.1. グローバルの永続的な場所の設定

Data Grid がクラスター化された組み込みキャッシュのグローバル状態を保存する場所を有効にして設定します。

注記

Data Grid Server は、グローバル永続性を有効にし、デフォルトの場所を設定します。グローバル永続性を無効にしたり、リモートキャッシュのデフォルト設定を変更したりしないでください。

前提条件

  • Data Grid をプロジェクトに追加します。

手順

  1. 以下のいずれかの方法でグローバル状態を有効にします。

    • global-state 要素を Data Grid 設定に追加します。
    • GlobalConfigurationBuilder API で globalState().enable() メソッドを呼び出します。
  2. グローバルの永続的な場所は各ノードに一意であるか、クラスター間で共有されるかどうかを定義します。

    ロケーションのタイプ設定

    各ノードに一意

    persistent-location 要素または persistentLocation() メソッド

    クラスター間で共有される

    shared-persistent-location 要素または sharedPersistentLocation(String) メソッド

  3. Data Grid がクラスターの状態を保存するパスを設定します。

    たとえば、ファイルベースのキャッシュストアは、パスはホストファイルシステムのディレクトリーです。

    値は以下のとおりです。

    • ルートを含む完全な場所を含む絶対的な場所が含まれます。
    • ルートの場所と相対的です。
  4. パスに相対値を指定する場合は、ルートロケーションに解決するシステムプロパティーも指定する必要があります。

    たとえば、global/state をパスとして設定する Linux ホストシステムでは、以下のようになります。また、/opt/data ルートロケーションに解決する my.data プロパティーも設定します。この場合、Data Grid はグローバルの永続的な場所として /opt/data/global/state を使用します。

グローバルの永続的な場所設定

XML

<infinispan>
  <cache-container>
    <global-state>
      <persistent-location path="global/state" relative-to="my.data"/>
    </global-state>
  </cache-container>
</infinispan>

JSON

{
  "infinispan" : {
    "cache-container" : {
      "global-state": {
        "persistent-location" : {
          "path" : "global/state",
          "relative-to" : "my.data"
        }
      }
    }
  }
}

YAML

cacheContainer:
  globalState:
      persistentLocation:
        path: "global/state"
        relativeTo : "my.data"

GlobalConfigurationBuilder

new GlobalConfigurationBuilder().globalState()
                                .enable()
                                .persistentLocation("global/state", "my.data");

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.