[8.5.5.5 或更新版本]

配置可自動調整的叢集,以具備 JVM 彈性

您可以將群體配置成支援 Java 虛擬機器 (JVM) 彈性。具備 JVM 彈性時,調整控制器可以根據資源使用率和調整原則,來啟動或停止 Liberty 伺服器。伺服器必須已在群體中,才符合調整資格。不會供應新的伺服器。

開始之前

所收集的資源使用率資訊類型,會因 JDK 而異。適用於 Windows 和 Linux 作業系統的 IBM JDK 1.7 會提供用於自動調整的所有必要使用率資訊,建議使用這種 JDK。其他的 JDK 不見得會根據個別的 JVM 資源使用率,提供用於自動調整的所有必要使用率資訊。

程序

  1. 建立群體。

    如需建立群體控制器和成員伺服器的詳細資料,請參閱配置 Liberty 群體

    註: 建議您完成第一個步驟,再繼續進行。步驟 1 會指示使用者建立群體、新增成員,以及啟動控制器和成員。
  2. scalingController-1.0 特性新增至一或多個群體控制器的 server.xml 檔。在您儲存 server.xml 檔時,除非另有指定,否則會施行預設原則。
    <featureManager>
     <feature>jsp-2.2</feature>
     <feature>collectiveController-1.0</feature>
     <feature>scalingController-1.0</feature>
    </featureManager>

    新增特性之後,只要群體控制器還在執行,群體控制器的 messages.log 中,會顯示下列訊息(順序不拘):

    CWWKV0300I: StackManager 服務已啟動。
    CWWKV0302I: 現有的堆疊是 []
    CWWKV0100I: ScalingController 特性已啟動。
    CWWKX1002I: 範圍的單態服務 ScalingControllerSingletonService
    CWWKV0102I: 選取這部伺服器作為主要調整控制器。
    CWWKF0012I: 伺服器已安裝下列特性:[scalingController-1.0]。
    註: 由於 Liberty 配置是動態的,在您新增調整控制器時,控制器的預設調整原則會起作用,您可能得到非預期的結果。舉例來說,預設原則是至少兩部伺服器,因此當您儲存調整控制器的 server.xml 檔時,控制器會嘗試啟動兩部伺服器。如果您不想出現該行為,您可能希望同時為控制器定義一項原則。
    註: 可能需要一些時間讓調整控制器登錄成員,並顯示 CWWKV0121I 訊息。
  3. 選擇性的: 變更預設調整原則,以符合您環境的需求。如需相關資訊,請參閱定義調整原則來管理工作量
  4. 同時將 clusterMember-1.0scalingMember-1.0 特性,新增至您希望由調整控制器控制的所有群體成員。 在成員的 server.xml 檔中,定義一個 hostSingleton 元素與埠。每一個調整成員都必須在 server.xml 中定義一個 hostSingleton 元素與埠。同一主機上的所有調整成員必須使用相同埠。您可以指定任何埠號,但是該埠號在主機上必須是唯一的。下列範例使用埠號 20020:
    <featureManager>
     <feature>jsp-2.2</feature>
     <feature>clusterMember-1.0</feature>
     <feature>scalingMember-1.0</feature>
    </featureManager>
    
    <hostSingleton name="ScalingMemberSingletonService" port="20020 " />

    在您新增特性和 hostSingleton 元素時,如果伺服器未啟動,您必須手動啟動它一次,讓調整控制器能夠辨識新增的特性。下列訊息(順序不拘)會顯示在群體成員的 messages.log 中:

    CWWKX1000I: SingletonMessenger MBean 可供使用。
    CWWKX7400I: ClusterMember MBean 可供使用。
    CWWKX1002I: 已建立範圍主機的單態服務 ScalingMemberSingletonService。
    CWWKV0200I: ScalingMember 特性已啟動。
    CWWKX1004I: 訊息管理程式連線已連接主機=controller_host_name,埠=controller_port_number

    每部主機上只有一個調整成員會與調整控制器通訊。第一個連接 ScalingMemberSingletonService 的調整成員會選為主機主導器。如果主機主導器停止,會透過 scalingMemberSingletonService 裁定的選擇程序,由另一個調整成員接手成為主機主導器。同一主機和叢集上的所有調整成員必須使用相同的 ScalingMemberSingletonService 埠。

    註: 當選擇調整成員作為主機主導器時,您會在群體成員的 messages.log 中看到下列訊息:
    CWWKV0203I: 伺服器主機=host_name;使用者目錄=path_to_usr_directory;伺服器=member_name;埠=member_port_number;服務=ScalingMemberSingletonService;範圍=選擇主機作為主機主導器。
    註: 如果您沒有在 scalingMember server.xml 中新增 hostSingleton 元素,或者您在相同主機中的每一個 scalingMember 上使用不同埠,可能會選取多部主機主導器。這可能導致調整決策不正確。您會在控制器的 messages.log 中看到下列訊息:
    CWWKV0123E: 在主機 host_name 上偵測到重複的主機單態主導器。此情況可能降低調整控制器的決策品質。伺服器 server_name1 的主導器身分是 leader_id1。伺服器 server_name2 的主導器身分是 leader_id2。

    如需 hostSingleton 元素的相關資訊,請參閱 Collective Member

    [8.5.5.5 或更新版本]多媒體 觀看:配置 Liberty 可自動調整的叢集,以具備 JVM 彈性視訊示範這項程序。[文字稿]


指示主題類型的圖示 作業主題

資訊中心條款 | 意見


「時間戳記」圖示 前次更新: 2015 年 6 月 22 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_wve_configjvmelast
檔名:twlp_wve_configjvmelast.html