Liberty 集合體是一些可配置為同一個管理域的一部分的 IBM HTTP://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server Liberty 伺服器集。 Liberty 集合體的配置和狀態資料存儲在一個活躍的操作存儲庫中。 Liberty 伺服器通過向集合體控制器註冊來加入一個集合體。 這些成員通過控制器的操作存儲庫共用自己的資訊。 圖 1 顯示了一個示例。
圖 1. 示例集合體(1 到 N 個成員)
除了構建集合體之外,您還可以通過在 server.xml 檔中指定 clusterMember 屬性來定義 Liberty 集群:
<clusterMember name=」myClusterX」 />
構建一個 Liberty 集合體來管理 Liberty 伺服器集合有許多好處。 利用一個集合體創建一個管理控制點,以執行伺服器管理、集群管理、檔案傳輸和對 MBean 操作的訪問。 可從單個管理點執行許多操作,這些操作包括:
啟動和停止 Liberty 伺服器。 啟動和停止 Liberty 集群。 將檔分發到 Liberty 伺服器或 Liberty 集群(這對補救伺服器配置或應用程式安裝很有用)。 生成 Web 服務器外掛程式。 查詢集合體成員統計資料,比如堆和 JVM 資訊。
構建和管理一個大型的、高度可用的集合體
集合體控制器可配置為高度可用的複本集。 屬於同一個複本集中的集合體控制器會同步它們的存儲庫資訊,以便在任意集合體控制上出現宕機時,該複本集中的其他集合體控制器能夠繼續接受和處理工作負載。
複本集中必須至少有 3 個集合體控制器才符合法定數量,並能利用集合體高度可用的功能。
要完成一個複本集的配置,需要執行以下步驟:
IBM WebSphere Application Server Liberty Network Deployment V8.5.5 Jython 用戶端
要手動設定一個複本集:
安裝 WebSphere Application Server Liberty Network Deployment。 使用此命令創建一個伺服器:
server create <Controller Name>
使用這個集合體命令將 Liberty 伺服器轉換為一個集合體控制器:
collective create <Controller Name> - -keystorePassword=<Keystore Password>
這個集合體控制器將被稱為初始控制器。
此時會顯示一組輸出。 將此輸出複製到新創建的控制器的 server.xml 檔中。 具體位置可能有所不同,但它通常位於 [LIBERTY_ROOT]/usr/servers/<Server Name> 下。 發出以下命令來啟動初始控制器:
server start <Controller Name>
在另一個系統上,部署 Liberty 併發出以下命令來創建另一個集合體控制器:
server create <Controller Name>
如果在同一個系統上運行此命令,則需要提供一個與初始控制器不同的名稱。
在第二個集合體控制器上運行 replicate 命令,例如:
collective replicate <Controller Name> -- host=<hostname of initial controller> --port=<SSL port of initial controller> --user=<user name of security defined in the initial controller> --password=<password of user nam e defined in the initial controller> --keystorePassword=<Keystore password from the initial controller>
將 replicate 命令的輸出複製並粘貼到第二個集合體控制器的 server.xml 檔中。 在第 3 個控制器上重複第 6 到 8 步。 在一個安裝了 Jython 的不同機器上,下載 WASdev 社區 中提供的 updateRepositoryConfig.py 示例腳本。 如果 Jython 用戶端和初始控制器未在同一個系統上,可將來自初始控制器的金鑰庫放在一個可供 Jython 用戶端存取的位置。 運行此命令,使用初始控制器作為目標:
./jython updateRepositoryConfig.py add ––truststore=<path to trust store of initial controller> -- truststorePassword=<Truststore Password of Initial Controller> ––host=<hostname of initial controller> -- port=<SSL port of initial controller> --user=<user name of security defined in the initial controller> --passw ord=<password of user defined in the initial controller> --endpoint=<hostname and replica port of second controll er> --debug
例如,實際命令可能類似于:
./jython updateRepositoryConfig.py add –truststore=key.jks --truststorePassword=Management ––host= initialcontroller.ibm.com --port=9443 --user=adminUser --password=adminPassword --endpoint= secondcontroller.ibm.com:10010 --debug
重複第 12 步,使用第三個控制器作為端點主機名稱。