前幾章介紹了配置,以及如何將配置部署到節點。在本章中,我們將設定簡單的伺服器機群和叢集。
叢集是ㄧ組實例,跨越一個或多個節點,全部執行相同的配置並提供相同的執行階段服務集。每個叢集必須包含一台指定作為管理伺服器的伺服器。如果您有一個以上的叢集,則可以從單一主管理伺服器管理所有叢集。主管理伺服器可擷取關於所有叢集的資訊,並提供用於管理 Sun Java System Web Server (安裝在其各自的叢集中) 的介面。
叢集中的所有實例必須同質。例如,這些實例在相同的作業系統版本 (和修補程式) 及服務軟體上執行,執行相同的 Web 伺服器配置並提供相同服務。
若要設定叢集,首先需要安裝一台管理伺服器,以及一個或多個管理節點。您必須將管理節點分別註冊到管理伺服器中,才能對其進行管理。此動作可在節點安裝期間或安裝之後透過 wadm CLI 來執行。
安裝管理伺服器和管理節點
安裝管理伺服器。您可以透過 Sun Java System Web Server 安裝程式 GUI 或透過 wadm CLI 來安裝管理伺服器。
您可以選擇 [快速安裝] 選項,將管理伺服器安裝在連接埠 8989 上。或者,選擇 [自訂安裝] 選項設定喜好設定。若要安裝管理伺服器,請在安裝程式設定畫面上選擇選項 [將伺服器安裝為管理伺服器]。您需要指定 SSL 連接埠,對於非 SSL 連接埠可以指定也可以不指定。
如果指定非 SSL 連接埠,在管理伺服器節點中便會建立管理節點,並且這並不需要向管理伺服器明確註冊。
若要安裝管理節點,請選擇 [自訂安裝],然後再選擇 [將伺服器安裝為管理節點]。指定用於安裝的連接埠。您無法選取非 SSL 連接埠,因為管理伺服器和管理節點之間的通訊一律透過安全通道。 在安裝期間,將詢問您是否需要向管理伺服器註冊節點。如果在安裝期間選擇不註冊節點,則可使用 wadm CLI 來執行此動作。
您無法透過快速安裝來安裝管理節點。
向管理伺服器註冊管理節點
您必須將管理節點註冊到管理伺服器,才能使其加入叢集或伺服器機群。 除非將管理節點註冊到管理伺服器,否則管理節點將不會啟動。若要註冊管理節點,請透過 wadm CLI 執行以下指令。
wadm> register-node --user <admin-user> --port <SSL Port> --host <node name> |
此連接埠是在管理伺服器安裝期間指定的連接埠。Host 是安裝管理伺服器所在節點的主機名稱。
此動作將向管理伺服器註冊節點。
只能從同一節點來註冊節點。您無法移至管理伺服器的 CLI 註冊任意節點。此外,您只能在 SSL 模式下向管理伺服器註冊節點。
若要為建立的叢集設定階段作業複製,請參閱配置階段作業複製。
為了以此範例進行說明,我們設定一個叢集,由一個負載平衡器,一台管理伺服器及已啟用階段作業複製的四個 Web 伺服器實例所組成。階段作業複製可為 Java Web 應用程式階段作業提供高可用性。將一個 Web 伺服器實例之記憶體中常駐的階段作業複製到另一個 Web 伺服器實例,即可實現此目的。因此,在一般作業條件下,每個階段作業至少有 2 個副本,每一個都位於單獨的 JVM 中,最理想的情況是位於單獨的機器上。
下圖描述了簡單叢集:
識別以下機器:
機器 A —同時具有負載平衡器和管理伺服器。
機器 B、機器 C、機器 D 和機器 E —具有管理節點,且 Web 伺服器實例處於執行中狀態。
在機器 A 上安裝管理伺服器。
請參閱設定伺服器機群,以取得有關安裝管理伺服器的資訊。一般安裝程序還將安裝 Web 伺服器實例。在此案例中,我們並不使用該實例。
在機器 B、機器 C、機器 D 和機器 E 上安裝管理節點。
在所有 4 台機器上安裝管理節點。向管理伺服器註冊管理節點。
配置 Web 應用程式。
為 Web 應用程式啟用階段作業複製。按照以下方式修改 WEb-INF/sun-web.xml 檔案:
<session-manager persistence-type="replicated"/> |
配置實例。
啟動 wadm。
wadm --host MachineA --port 8089 |
為負載平衡器建立新配置。
wadm> create-config --http-port=8080 --server-name=SampleCluster lb |
設定反向代理伺服器 (負載平衡器)。
wadm> create-reverse-proxy --config=lb --vs=lb -uri-prefix=/ --server="http://MachineB:8080,http://MachineC:8080, ttp://MachineD:8080,http://MachineE:8080" |
建立實例。
wadm> create-instance --config=lb MachineA |
部署配置。
wadm> deploy-config lb wadm> start-instance --config=lb |
建立並啟動叢集。
建立具有四個實例的新配置。
為叢集建立新配置。
wadm> create-config --http-port=8080 --server-name=SampleCluster clusterOf4 |
啟用階段作業複製。
wadm> set-session-replication-prop --config=clusterOf4 enabled=true |
增加 Web 應用程式。
wadm> add-webapp --config=clusterOf4 --uri=/simple webapps-simple.war |
建立實例。
wadm> create-instance --config=clusterOf4 MachineB MachineC MachineD MachineE |
啟動叢集。
wadm> start-instance --config=clusterOf4 |
如果未指定 H80 指令的主機名稱,此動作將啟動已部署該配置之所有節點上的實例。