JVM 弾力性のための自動スケーリング可能クラスターの構成

Java 仮想マシン (JVM) 弾力性をサポートするように集合を構成できます。スケーリング・コントローラーは、JVM 弾力性を利用して、 リソース使用量およびスケーリング・ポリシーに基づいて Liberty サーバーの開始または停止を行うことができます。スケーリングの対象として適格なのは、既に集合内にあるサーバーのみです。新規サーバーのプロビジョニングはありません。

始める前に

収集されるリソース使用情報のタイプは、JDK によって異なります。Windows および Linux オペレーティング・システム向けの IBM JDK 1.7 は、 推奨される JDK であり、自動スケーリングに必要なすべての使用情報を提供します。他の JDK は、 個々の JVM リソース使用量に基づく自動スケーリングに必要なすべての使用情報を提供しない可能性があります。
トラブルの回避: 管理コンソールは、自動スケーリング可能クラスターのクラスター・メンバ ーである Liberty サーバーの始動と停止を可能にしますが、サーバーが保 守モードの場合のみです。Liberty サーバーが自動スケーリング可能クラスターのク ラスター・メンバーである場合に、コマンド・ラインから Liberty サ ーバーを始動または停止すると、予測不能な結果になる場合があります。

手順

  1. 集合を作成します。

    集合コントローラーおよびメンバー・サーバーの作成について詳しくは、『Liberty 集合の構成』を参照してください。

    注: 手順を続行する前に、この最初のステップを完了することをお勧めします。最初のステップは、集合を作成し、メンバーを追加し、コントローラーおよびメンバーを開始するようユーザーに指示しています。
  2. 1 つ以上の集合コントローラーの server.xml ファイルに scalingController-1.0 フィーチャーを 追加します。server.xml ファイルを保存すると、 別の指定がない場合はデフォルト・ポリシーが強制されます。
    <featureManager>
     <feature>jsp-2.2</feature>
     <feature>collectiveController-1.0</feature>
     <feature>scalingController-1.0</feature>
    </featureManager>

    フィーチャーを追加した後、集合コントローラーが稼働していれば、集合コントローラーの messages.log に以下のメッセージが任意の順序で表示されます。

    CWWKV0300I: The StackManager service started.
    CWWKV0302I: The existing stacks are []
    CWWKV0100I: The ScalingController feature is activated.
    CWWKX1002I: Singleton service ScalingControllerSingletonService for scope 
    CWWKV0102I: This server is elected to be the primary scaling controller.
    CWWKF0012I: The server installed the following features: [scalingController-1.0].
    注: Liberty 構成は動的であるため、スケーリング・コントローラーを追加すると、 コントローラーのデフォルト・スケーリング・ポリシーが有効になり、予期しない結果になることがあります。例えば、 デフォルト・ポリシーでは最小サーバー数が 2 であるため、スケーリング・コントローラー server.xml ファイルを保存すると、 コントローラーは 2 つのサーバーを始動しようとします。この動作が望ましくない場合は、同時にコントローラーのポリシーも定義するようにしてください。
    注: スケーリング・コントローラーがメンバーを登録し、CWWKV0121I メッセージが表示されるには、少し時間がかかることがあります。
  3. オプション: ご使用の環境での必要に応じて、スケーリング・ポリシーのデフォルト値を変更します。詳しくは、ワークロードを管理するためのスケーリング・ポリシーの定義を参照してください。
  4. スケーリング・コントローラーで制御するすべての集合メンバーに scalingMember-1.0 フィーチャーを追加します。 メンバーの server.xml ファイル内に、 hostSingleton エレメントをポートと共に定義します。各スケーリング・メンバーは、 それぞれ 1 つの hostSingleton エレメントとポートを server.xml 内に定義する必要があります。同じホスト上のすべてのスケーリング・メンバーは、 同じポートを使用しなければなりません。任意のポート番号を指定できますが、 ポート番号はホスト・コンピューター上で固有である必要があります。以下の例では、 ポート番号 20020 が使用されています。
    <featureManager>
     <feature>jsp-2.2</feature>
     <feature>scalingMember-1.0</feature>
    </featureManager>
    
    <hostSingleton name="ScalingMemberSingletonService" port="20020" />

    フィーチャーおよび hostSingleton エレメントを追加したときにサーバーが開始されていなかった場合、 追加されたフィーチャーをスケーリング・コントローラーが認識できるように、一度手動でサーバーを開始する必要があります。集合メンバーの messages.log に以下のメッセージが任意の順序で表示されます。

    CWWKX1000I: The SingletonMessenger MBean is available.
    CWWKX7400I: The ClusterMember MBean is available.
    CWWKX1002I: Singleton service ScalingMemberSingletonService for scope host is created.
    CWWKV0200I: The ScalingMember feature is activated.
    CWWKX1004I: Messenger connection is connected to host=controller_host_name, port=controller_port_number.

    ホストあたり 1 つのみのスケーリング・メンバーがスケーリング・コントローラーと通信できます。 ScalingMemberSingletonService に最初に接続するスケーリング・メンバーがホスト・リーダーに選出されます。ホスト・リーダーが停止すると、scalingMemberSingletonService によって設定される選出プロセスによって、別のスケーリング・メンバーがホスト・リーダーとして引き継ぎます。 同じホストおよびクラスターにあるすべてのスケーリング・メンバーは、 同じ ScalingMemberSingletonService ポートを使用しなければなりません。

    注: スケーリング・メンバーがホスト・リーダーに選出されると、 集合メンバーの messages.log 内に以下のメッセージが表示されます。
    CWWKV0203I: Server host=host_name; userdir=path_to_usr_directory; server=member_name; port=member_port_number; service=ScalingMemberSingletonService; scope=host is elected as the host leader.
    注: hostSingleton エレメントが scalingMember server.xml に追加されないか、 または、同じホスト上の各 scalingMember に異なるポートが使用されると、 複数のホスト・リーダーが選出される可能性があります。これにより、正しくないスケーリング決定が行われる可能性があります。コントローラーの messages.log に以下のメッセージが表示されます。
    CWWKV0123E: Duplicate host singleton leaders have been detected on host host_name.  This condition may degrade scaling controller decisions.  The leader identity of server server_name1 is leader_id1.  The leader identity of server server_name2 is leader_id2.

    hostSingleton エレメントについて詳しくは、集合メンバーを参照してください。

    マルチメディア ご覧ください:Configuring a Liberty auto-scalable cluster for JVM elasticity」のビデオには、この手順が示されています。[トランスクリプト]


トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_wve_configjvmelast.html