検索

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

download PDF

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

Data Grid はファイルロックを使用して、グローバル永続化ロケーションへの同時アクセスを阻止します。ロックは起動時に取得され、ノードのシャットダウン時に解放されます。ダングリングロックファイルが存在する場合、クラッシュまたは外部終了が原因で、ノードが正常にシャットダウンされなかったことを示します。デフォルト設定では、データ破損を回避するために、Data Grid は次のメッセージを表示して起動を拒否します。

ISPN000693: Dangling lock file '%s' in persistent global state, probably left behind by an unclean shutdown

グローバル状態の unclean-shutdown-action 設定を次のいずれかに設定することで、この動作を変更できます。

  • FAIL: 永続的なグローバル状態でダングリングロックファイルが見つかった場合、Cache Manager の起動を阻止します。これがデフォルトの動作です。
  • PURGE: 永続的なグローバル状態にダングリングロックファイルが見つかった場合、永続グローバル状態をクリアします。
  • IGNORE: 永続的なグローバル状態におけるダングリングロックファイルの存在を無視します。

リモートキャッシュ

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.