Microsoft Azure での Red Hat JBoss Enterprise Application Platform の使用


Red Hat JBoss Enterprise Application Platform 8.0

高可用性の設定など、Microsoft Azure で Red Hat JBoss Enterprise Application Platform を使用する手順

Red Hat Customer Content Services

概要

このガイドは、高可用性設定を含む、Microsoft Azure で Red Hat JBoss Enterprise Application Platform を使用するためのガイドです。

第1章 JBoss EAP on Microsoft Azure について

JBoss EAP 8.0 は、Azure で JBoss EAP を実行するためにサポートされる特定の設定内で使用する限り、Microsoft Azure プラットフォームで使用できます。クラスター化された JBoss EAP 環境を設定する場合は、Azure で JBoss EAP クラスタリング機能を使用するために必要な特定の設定を適用する必要があります。

第2章 Boss EAP on Microsoft Azure のサブスクリプションモデル

Azure に JBoss EAP をデプロイするには、Bring Your Own subscription (BYOS) と Pay-as-you-go (PAYG) の 2 つのサブスクリプションモデルから選択できます。

2 つの製品の違いは次のとおりです。

BYOS
既存の Red Hat サブスクリプションをすでにお持ちの場合は、それを使用して、BYOS モデルを使用して Azure に JBoss EAP をデプロイできます。詳細は、Red Hat Cloud Access について を参照してください。
PAYG
既存の Red Hat サブスクリプションをお持ちでない場合は、PAYG モデルを使用して、使用したコンピューティングリソースの数に基づいて支払うことを選択できます。

第3章 Red Hat Cloud Access 製品ページ

既存の Red Hat サブスクリプションがある場合、Red Hat Cloud Access は、Amazon EC2 や Microsoft Azure などの Red Hat 認定クラウドインフラストラクチャープロバイダーで JBoss EAP をサポートします。Red Hat Cloud Access を使用すると、サブスクリプションを従来のサーバーおよびパブリッククラウドベースのリソースの間で費用対効果の高い方法で移動できます。

詳細は、Red Hat Cloud Access on the Customer Portal を参照してください。

第4章 Microsoft Azure で JBoss EAP を実行する場合にサポートされる構成

このセクションでは、Microsoft Azure で JBoss EAP を実行する場合にサポートされる構成を説明します。

4.1. JBoss EAP を使用する場合にサポートされる仮想マシンオペレーティングシステム

以下は、Microsoft Azure で JBoss EAP を使用するための唯一の仮想マシンオペレーティングシステムです。

  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9
  • Microsoft Windows Server 2019
  • Microsoft Windows Server 2022

Red Hat Cloud Access プログラムを使用し、JBoss EAP サブスクリプションを使用して独自の Azure 仮想マシン、または Microsoft Azure Marketplace から上記のいずれかの On-Demand オペレーティングシステムに JBoss EAP をインストールできます。仮想マシンのオペレーティングシステムサブスクリプションは JBoss EAP サブスクリプションとは異なることに注意してください。

上記のオペレーティングシステムの制限以外に、サポート対象の Java Development Kit (JDK) ベンダーおよびバージョンなどの JBoss EAP のサポートされる設定に関する詳細は、カスタマーポータルを参照してください。

4.2. JBoss EAP クラスタリングの Azure Autoscale 機能

垂直スケーリングは、すべての JBoss EAP クラスタリングユースケースでサポートされます。

+ 次の水平スケーリングのユースケースもサポートされています。

  • 分散 HTTP セッション

    • hotrod-session-management 経由
    • infinispan-session-management 経由

      • invalidation-cache と共有の永続キャッシュストアの使用
  • 分散型 @Stateful EJB

    • infinispan-passivation-store 経由

      • invalidation-cache と共有の永続キャッシュストアの使用
  • 分散 EJB タイマー

    • invalidation-cache と共有の永続キャッシュストアの使用
  • JPA/Hibernate 2 次キャッシュ

    • 無効化またはローカルエンティティー/コレクション/クエリーのキャッシュのみ
  • パブリック WildFly クラスタリング API

第5章 Microsoft Azure で JBoss EAP を使用する場合にサポート対象外の機能

Microsoft Azure で JBoss EAP を使用する場合、サポート対象外の機能がいくつかあります。

ActiveMQ Artemis 共有ストアを使用した高可用性
Artemis 共有ストアを使用した JBoss EAP メッセージング高可用性は、Microsoft Azure ではサポートされていません。Azure で JBoss EAP メッセージングの高可用性を設定するには、Microsoft Azure で ActiveMQ Artemis の高可用性を設定する セクションの手順を参照してください。
mod_custer Advertising
JBoss EAP を Undertow mod_cluster プロキシーロードバランサーとして使用する場合は、Azure UDP マルチキャストの制限により mod_cluster アドバタイズ機能がサポートされません。詳細は、Microsoft Azure で mod_cluster を使用した負荷分散を設定する を参照してください。
仮想マシンのスケールセット

自動スケールダウン機能は、スケールダウンプロセス中にすべてのトランザクションが完了するまで待機しないため、Microsoft Azure 仮想マシンスケールセット (VMSS) のトランザクションはサポートされていません。これにより、データの整合性の問題が発生する可能性があります。Microsoft Azure VMSS は EAP VM を破棄し、適切なシャットダウンをサポートしないため、EAP クラスタリングに次の制限が生じます。

  • HA のサーバー側の状態を Red Hat Data Grid などのサードパーティーサービスに外部化する必要がある設定では、VMSS をサポートする必要があります。JBoss EAP は HttpSessions の外部化に対して VMSS をサポートしますが、ステートフルセッション Bean に対してはサポートしません。
Azure App Service

JTS は、JBoss EAP Azure App Service オファリングではサポートされていません。

注記

JTS はサポートされていませんが、Jakarta トランザクションは次の条件下でサポートされます。

  • インスタンスの自動削除は無効になっています。
  • たとえば Azure ダッシュボードを使用して実行中のインスタンスの数を減らしても、インスタンスが手動で削除されることはありません。

また、Jakarta Enterprise Beans-remoting 経由のトランザクションはサポートされません。

JBoss EAP クラスタリングではサポートされていない Azure Autoscale の水平スケーリング

水平スケーリングの場合、次の JBoss EAP クラスタリングユースケースはサポートされません。

  • 分散 HTTP セッション

    • infinispan-session-management

      • 分散、複製、または分散キャッシュの使用
  • 分散型 @Stateful EJB

    • infinispan-passivation-store 経由

      • 分散、複製、または分散キャッシュの使用
  • 分散 EJB タイマー

    • 分散、複製、または分散キャッシュを使用する場合
  • シングルトン MDB
  • JPA/Hibernate 2 次キャッシュ

    • 分散、複製、または分散するエンティティー/コレクション/クエリーのキャッシュ
  • シングルトンデプロイメント
  • シングルトン MSC サービス
  • パブリック WildFly clustering API:

第6章 JBoss EAP をホストするための Microsoft Azure 環境を作成する

Microsoft Azure 環境で JBoss EAP インスタンスをホストする仮想マシンを作成します。仮想マシンは、Standard_A2 以上の Azure サイズを使用する必要があります。

Azure On-Demand Premium イメージを使用して仮想マシンを作成したり、仮想マシンを手動で作成したりできます。

注記

JBoss EAP Azure 仮想マシンイメージが Marketplace で利用できるようになりました。

重要

JBoss EAP の高可用性を設定する場合は、同じ仮想ネットワーク内に仮想マシンを作成する必要があります。

第7章 Microsoft Azure へのサーバーのインストール

重要

Microsoft Azure Marketplace の Red Hat Enterprise Linux On-Demand 仮想マシンを使用している場合は、.zip ファイルまたはインストーラーの方法を使用して JBoss EAP をインストールする必要があります。Red Hat サブスクリプション管理には、Red Hat Enterprise Linux On-Demand 仮想マシンを登録しないでください。その仮想マシンへの請求が重複してしまいます。

Microsoft Azure 環境の仮想マシンへの JBoss EAP のインストールは、通常の JBoss EAP インストールと同じです。手順は、Red Hat JBoss Enterprise Application Platform インストール方法 を参照してください。

第8章 Microsoft Azure で動作するように JBoss EAP サブシステムを設定する

Amazon EC2 や Microsoft Azure などのクラウドプラットフォームで適切に動作するように、一部の JBoss EAP サブシステムを設定する必要があります。これは、JBoss EAP サーバーは通常、クラウドプラットフォームからのみ確認可能な 10.x.x.x などのクラウド仮想マシンのプライベート IP アドレスにバインドされているために必要です。特定のサブシステムでは、このアドレスをサーバーのパブリック IP アドレスにマッピングする必要もあります。これは、クラウド外から見えるものです。

8.1. Microsoft Azure で動作するように Web サービスサブシステムを設定する

クライアントが Service.create(wsdlURL, serviceName); を使用して Web サービスリクエストを行うと、ユーザーはサーバーのパブリック IP アドレスに接続しますが、その後、webservices サブシステムのサーバー設定ファイルに定義されたアドレスにリダイレクトされます。

デフォルトでは、このアドレスは ${jboss.bind.address:127.0.0.1} です。つまり、クラウドプラットフォームでは呼び出し元はサーバーのプライベート IP アドレスにリダイレクトされ、要求を解決できません。サーバーのパブリック IP アドレスは、wsdl-host 要素で設定する必要があります。

手順

  • wsdl-host 要素でサーバーのパブリック IP アドレスを設定します。

    /subsystem=webservices:write-attribute(name=wsdl-host,value=<PUBLIC_IP_ADDRESS>)
    Copy to Clipboard Toggle word wrap

8.2. Microsoft Azure で動作するようにメッセージングサブシステムを設定する

クラウドプラットフォームでメッセージングを使用する場合は、クライアントが使用する接続ファクトリーには、サーバーのパブリック IP アドレスを指すコネクターが必要です。

そのため、full プロファイルを実行している JBoss EAP サーバーに対して新しいコネクターとソケットバインディングを作成する必要があります。

前提条件

  • JBoss EAP が full プロファイルを実行している。

手順

  1. 参照される http-public ソケットバインディングを socket-binding-group 内に作成します。

    /socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=http-public:add(host=<PUBLIC_IP_ADDRESS>,port=${jboss.http.port:8080})
    Copy to Clipboard Toggle word wrap
  2. messaging サブシステムに新しい http-connector 要素を作成します。

    /subsystem=messaging-activemq/server=default/http-connector=http-public-connector:add(endpoint=http-acceptor,socket-binding=http-public)
    Copy to Clipboard Toggle word wrap
  3. connection-factoryconnectors を設定します。これは、クライアントによって使用されます。たとえば、デフォルトの接続としての RemoteConnectionFactory の設定は以下のようになります。

    /subsystem=messaging-activemq/server=default/connection-factory=RemoteConnectionFactory:write-attribute(name=connectors, value=["http-public-connector"]
    Copy to Clipboard Toggle word wrap

8.3. Microsoft Azure で高可用性を実現するためのリモートサブシステムを設定する

クラウドプラットフォーム上のクラスター化された Jakarta Enterprise Beans で JBoss EAP HA 機能を使用している場合は、Jakarta Enterprise Beans クライアントがクラスタービューの更新を受け取るために remoting サブシステムに追加の設定が必要になります。

手順

  • remoting サブシステムソケットバインディングの client-mappings を設定します。

    /socket-binding-group=standard-sockets/socket-binding=http:write-attribute(name=client-mappings,value=[{ "destination-address" => "<PUBLIC_IP_ADDRESS>", "destination-port" => "8080" }])
    Copy to Clipboard Toggle word wrap

第9章 JBoss EAP での Microsoft Azure の設定

この章では、JBoss EAP を Microsoft Azure で実行するために必要な設定を説明します。

9.1. Red Hat Enterprise Linux で起動時に JBoss EAP をサービスとして起動する

JBoss EAP を Microsoft Azure の Red Hat Enterprise Linux でサービスとして起動する場合は、JBoss EAP サービスの設定を変更して、Azure 仮想マシンのホスト名が初期化された後に開始されるようにする必要があります。

手順

  • /etc/systemd/system/multi-user.target.wants/eap8-standalone.service ファイルを更新して、waagent.service への依存関係を追加します。

    以下の行を置き換えます。

    After=syslog.target network.target
    Copy to Clipboard Toggle word wrap

    上記を以下のように置き換えます。

    After=syslog.target network.target waagent.service
    Requires=waagent.service
    Copy to Clipboard Toggle word wrap

9.2. Microsoft Azure で mod_cluster を使用して負荷分散を設定する

mod_cluster アドバタイズが Azure でサポートされていない ため、JBoss EAP の負荷分散環境を設定する場合は、すべてのバランサーとワーカーが内部の Microsoft Azure 仮想ネットワークでアクセス可能な IP アドレスにバインドされる必要があります。

注記

バランサーおよびワーカーは、0.0.0.0 ではなく、実際の内部 Azure 仮想 IP アドレス (172.28.0.2) にバインドする必要があります。

また、mod_cluster アドバタイズが利用できないため、JBoss EAP を Undertow mod_cluster プロキシーロードバランサーとして使用する場合は、以下のように各ワーカーノードが各バランサーの IP アドレスとポートが含まれるプロキシーリストを使用するよう設定する必要があります。

/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=proxy-one:add(host="BALANCER_IP_ADDRESS", port="BALANCER_PORT")
/subsystem=modcluster/mod-cluster-config=configuration:list-add(name=proxies,value=proxy-one)
Copy to Clipboard Toggle word wrap

9.3. Microsoft Azure で ActiveMQ Artemis の高可用性を設定する

Artemis 共有ストアを使用した JBoss EAP メッセージング高可用性は、Microsoft Azure ではサポートされていません。Azure で JBoss EAP メッセージングの高可用性を設定するには、AZURE_PING JGroups 検出プロトコル でレプリケートされたジャーナルを使用する必要があります。

その場合は、TCP JGroups スタックを使用します。レプリケートされたジャーナルの使用に関する詳細は、JBoss EAP の メッセージングの設定データレプリケーション を参照してください。

AZURE_PING で TCP JGroups スタックを設定した後、JGroups スタックを messaging-activemq サブシステムの discovery-group および broadcast-group jgroups-cluster 設定に追加する必要があります。詳細は、JBoss EAP の メッセージングの設定サーバー検出 を参照してください。

9.4. Microsoft Azure で JBoss EAP のクラスタリングインスタンスを設定する

JBoss EAP のクラスタリングは Microsoft Azure でサポートされています。クラスタリングを有効にするには、Microsoft Azure Web アプリケーションを仮想ネットワークと統合する必要があります。統合が完了した後に Web アプリケーションを再起動すると、JBoss EAP インスタンスがクラスター化された設定で起動します。

WEBSITE_DISABLE_CLUSTERING のアプリケーション設定を作成して、クラスタリングを無効にできます。アプリケーション設定には任意の値を割り当てることができます。

JBoss EAP アプリケーションを Microsoft Azure 上の JBoss EAP に移行する方法の詳細は、JBoss EAP on Microsoft Azure 記事の Migrate JBoss EAP applications to JBoss EAP on Azure App Service を参照してください。

クラスタリングの詳細は、JBoss EAP on Microsoft Azure 記事の Clustering を参照してください。

第10章 Microsoft Azure で JBoss EAP 高可用性を使用する

Microsoft Azure は、UDP マルチキャストを基にした JGroups 検出プロトコルをサポートしていません。他の JGroups 検出プロトコル (静的設定 (TCPPING))、共有データベース (JDBC_PING)、共有ファイルシステムベースの ping (FILE_PING)、または TCPGOSSIP などを使用することは可能ですが、AZURE_PING は Azure 用に特別に開発した共有ファイル検出プロトコルを使用することを強く推奨します。

10.1. JBoss EAP 高可用性のための AZURE_PING 設定

ここでは、AZURE_PING JGroups 検索プロトコルを使用するよう JBoss EAP クラスターを設定する方法を説明します。仮想マシンの作成時に前提条件 を満たしていることを確認します。

AZURE_PING は、Microsoft Azure ストレージアカウント内で共通の Blob コンテナーを使用します。AZURE_PING が使用できる Blob コンテナーがない場合は、仮想マシンがアクセスできる Blob コンテナーを作成します。

Blob コンテナーの作成後に、AZURE_PING を設定するために以下の情報が必要になります。

  • storage_account_name: blob コンテナーが含まれる Microsoft Azure ストレージアカウントの名前。
  • storage_access_key: ストレージアカウントのシークレットアクセスキー。
  • container: PING データに使用する blob コンテナーの名前。
重要

以下の手順では、UDP JGroups スタックを使用して AZURE_PING を設定します。Azure で JBoss EAP メッセージング高可用性 を設定する場合は、代わりに TCP JGroups スタックで AZURE_PING を設定する必要があります。

AZURE_PING を JGroups 検索プロトコルとして使用するように JBoss EAP を設定するには、事前設定された JBoss EAP 設定ファイルのサンプルを使用する か、既存の設定を変更する ことができます。

10.2. サンプル設定ファイルを使用して高可用性を設定する

JBoss EAP には、Microsoft Azure のスタンドアロンサーバーのクラスタリングを設定するための設定ファイルのサンプルが含まれています。これらのファイルは EAP_HOME/docs/examples/configs/ にあり、standalone-azure-ha.xmlstandalone-azure-full-ha.xml です。

注記

JBoss EAP の 設定ガイド で、サーバープロファイルの 相違点 を参照してください。

これらの設定ファイルのサンプルは、Microsoft Azure でクラスタリングを使用するために事前設定されており、必要なのは Azure ストレージアカウントおよび blob コンテナーの値を指定することのみです。

必要な設定ファイルのサンプルを EAP_HOME/standalone/configuration/ にコピーします。

10.3. 既存サーバーの高可用性設定を変更する

既存の JBoss EAP の高可用性設定を変更する場合は、jgroups サブシステムに以下の変更を加える必要があります。

手順

  1. 管理 CLI を起動し、サーバーを埋め込み、選択した設定ファイルにオフライン変更を行います。以下に例を示します。

    $ EAP_HOME/bin/jboss-cli.sh
    [disconnected /] embed-server --server-config=standalone-ha.xml
    Copy to Clipboard Toggle word wrap
  2. デフォルトでは、JGroups は UDP スタックを使用します。別のスタックを使用していた場合は、UDP スタックの使用に戻ります。

    [standalone@embedded /] /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=udp)
    Copy to Clipboard Toggle word wrap
  3. 以下のバッチコマンドを実行して既存の UDP スタックを削除し、Microsoft Azure 用に設定された新しい UDP スタックを挿入します。

    重要

    次のコマンドで使用される storage_access_key のエンコードは Base64 である必要があります。

    batch
    /subsystem=jgroups/stack=udp:remove
    /subsystem=jgroups/stack=udp:add()
    /subsystem=jgroups/stack=udp/transport=UDP:add(socket-binding=jgroups-udp,properties={ip_mcast=false})
    /subsystem=jgroups/stack=udp/protocol=azure.AZURE_PING:add(properties={storage_account_name="${jboss.jgroups.azure_ping.storage_account_name}", storage_access_key="${jboss.jgroups.azure_ping.storage_access_key}", container="${jboss.jgroups.azure_ping.container}"})
    /subsystem=jgroups/stack=udp/protocol=MERGE3:add
    /subsystem=jgroups/stack=udp/protocol=FD_SOCK2:add(socket-binding=jgroups-udp-fd)
    /subsystem=jgroups/stack=udp/protocol=FD_ALL3:add
    /subsystem=jgroups/stack=udp/protocol=VERIFY_SUSPECT2:add
    /subsystem=jgroups/stack=udp/protocol=pbcast.NAKACK2:add(properties={use_mcast_xmit=false,use_mcast_xmit_req=false})
    /subsystem=jgroups/stack=udp/protocol=UNICAST3:add
    /subsystem=jgroups/stack=udp/protocol=pbcast.STABLE:add
    /subsystem=jgroups/stack=udp/protocol=pbcast.GMS:add
    /subsystem=jgroups/stack=udp/protocol=UFC:add
    /subsystem=jgroups/stack=udp/protocol=MFC:add
    /subsystem=jgroups/stack=udp/protocol=FRAG4:add
    run-batch
    Copy to Clipboard Toggle word wrap
    注記

    設定ファイルで Microsoft Azure ストレージアカウントおよび blob コンテナーの値を保存する場合は、上記の設定のシステムプロパティーの参照を Azure 環境の値に置き換えます。以下のコマンドは、JBoss EAP を起動する例で、システムプロパティーを使用します。

    設定ファイルのスタック XML は以下のようになります。

    <stack name="udp">
        <transport type="UDP" socket-binding="jgroups-udp"/>
        <protocol type="RED"/>
        <protocol type="azure.AZURE_PING">
            <property name="storage_account_name">${jboss.jgroups.azure_ping.storage_account_name}</property>
            <property name="storage_access_key">${jboss.jgroups.azure_ping.storage_access_key}</property>
            <property name="container">${jboss.jgroups.azure_ping.container}</property>
        </protocol>
        <protocol type="MERGE3"/>
        <socket-protocol type="FD_SOCK2" socket-binding="jgroups-udp-fd"/>
        <protocol type="FD_ALL3"/>
        <protocol type="VERIFY_SUSPECT2"/>
        <protocol type="pbcast.NAKACK2"/>
        <protocol type="UNICAST3"/>
        <protocol type="pbcast.STABLE"/>
        <protocol type="pbcast.GMS"/>
        <protocol type="UFC"/>
        <protocol type="MFC"/>
        <protocol type="FRAG4"/>
    </stack>
    Copy to Clipboard Toggle word wrap
  4. 埋め込みサーバーを停止し、管理 CLI を終了します。

    [standalone@embedded /] stop-embedded-server
    [disconnected /] exit
    Copy to Clipboard Toggle word wrap

10.4. Microsoft Azure で JBoss EAP 高可用性を使用する

Microsoft Azure で高可用性を使用して JBoss EAP を起動するには、以下を行う必要があります。

  • AZURE_PING 検索プロトコルで設定 された設定ファイルを使用して、Microsoft Azure ストレージアカウントおよび blob コンテナーに必要な値を指定します。
  • private インターフェイスを、トラフィックのクラスタリングに使用される Microsoft Azure 内部 IP アドレスにバインドします。これは、以下のように、起動時に行うか、JBoss EAP の 設定ガイド に示した設定 として実行することができます。

    警告

    セキュリティー上の理由から、クラスタリングトラフィックは意図しないネットワークに公開しないようにする必要があります。

    これは、エンドポイントを Microsoft Azure 仮想ネットワークに制限するか、トラフィックをクラスタリングするための専用の仮想ネットワークと専用の仮想マシン NIC を作成して実行できます。

手順

  • 以下のコマンドを使用して JBoss EAP の高可用性インスタンスを起動します。Microsoft Azure ストレージアカウントおよび blob コンテナーの値を設定ファイルに保存した場合は、-Djboss.jgroups.azure_ping システムプロパティーの定義を省略できます。

    EAP_HOME/bin/standalone.sh -b <IP_ADDRESS> -bprivate <IP_ADDRESS> --server-config=<EAP_CONFIG_FILE>.xml -Djboss.jgroups.azure_ping.storage_account_name=<STORAGE_ACCOUNT_NAME> -Djboss.jgroups.azure_ping.storage_access_key=<STORAGE_ACCESS_KEY> -Djboss.jgroups.azure_ping.container=<CONTAINER_NAME>
    Copy to Clipboard Toggle word wrap

    以下に例を示します。

    EAP_HOME/bin/standalone.sh -b 172.28.0.2 -bprivate 172.28.0.2 --server-config=standalone-azure-ha.xml -Djboss.jgroups.azure_ping.storage_account_name=my_storage_account -Djboss.jgroups.azure_ping.storage_access_key=y7+2x7P68pQse9MNh58Bkk5po9OGzeJc+0IRqYcQ9Cr/Sp4xiUFJVlbY+MGXJRNx3syksikwm4tOYlFgjvoCmw== -Djboss.jgroups.azure_ping.container=my_blob_container
    Copy to Clipboard Toggle word wrap
    注記

    JBoss EAP サブシステムは必要なときにのみ起動されるため、分散可能なアプリケーションを JBoss EAP サーバーにデプロイして、高可用性 JBoss EAP サブシステムを起動する必要があります。

クラスター内で別の JBoss EAP インスタンスを起動すると、クラスター内で最初のサーバーのコンソールログに以下のようなログが表示されるはずです。

INFO  [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (thread-2,ee,eap-server-1) ISPN000094: Received new cluster view for channel server: [eap-server-1|1] (2) [eap-server-1, eap-server-2]
Copy to Clipboard Toggle word wrap

10.5. Blob コンテナー内の古い検出ファイルを消去する

AZURE_PING を使用する JBoss EAP クラスターが異常終了した場合 (たとえば、kill -9 を使用して JBoss EAP プロセスを終了する場合など)、一部の古い検出ファイルは Blob コンテナーに残される可能性があります。

これらのファイルは、通常、正常なクラスターのシャットダウン時にクリーンアップされます。ただし、正常でないシャットダウンから残ると、オンラインではなくなったノードとの通信を試行するクラスターメンバーの起動パフォーマンスに影響する可能性があります。

これが問題となる場合は、以下の設定でクラスターの表示が変更されるたびに、クラスターコーディネーターがすべての検出ファイルを削除して更新できます。

/subsystem=jgroups/stack=udp/protocol=azure.AZURE_PING/property=remove_all_data_on_view_change:add(value=true)
Copy to Clipboard Toggle word wrap
注記

または、各表示の変更でコンテナーをクリーンアップすることが理想的でない場合、クラスターにジョインしようとするノードの結合試行回数を減らすことができます。デフォルトのジョイン試行数は 10 です。たとえば、結合試行の数を 3 に設定するには、次のコマンドを実行します。

/subsystem=jgroups/stack=udp/protocol=pbcast.GMS/property=max_join_attempts:add(value=3)
Copy to Clipboard Toggle word wrap

古い検出ファイルは引き続き存在しますが、クラスターにジョインしようとしているノードは、オンラインでなくなったノードとの通信を試行するのに多くの時間を費やしません。





改訂日時: 2025-05-10

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る