BeenThere 範例 - 配置和執行


開始使用
新增應用程式伺服器節點
建立 Web 儲存器叢集
建立 EJB 儲存器叢集
更新虛擬主機
啟用 WebSphere 配置服務
安裝 BeenThere.ear
配置安全(選用)
啟動伺服器
執行範例
驗證範例配置


開始使用

本節說明配置環境(如圖 1 中的說明) 以及安裝及執行「BeenThere 範例」的步驟。 假設已安裝了下列軟體:


機器名稱 已安裝的軟體
web IBM HTTP Server
IBM HTTP Server 外掛程式
app1 IBM WebSphere Application Server
app2 IBM WebSphere Application Server
dm IBM WebSphere Application Server 部署管理程式


附註:下列指示假設 Web 伺服器及其管理服務在執行中,且已在部署管理程式上建立 Web 伺服器定義來自動傳送 plugin-cfg.xml 檔。



新增應用程式伺服器節點

請完成下列步驟,將應用程式伺服器節點新增至資料格中:


  1. 啟動部署管理程式。
  2. 在安裝應用程式伺服器的其中一部機器上的指令行中,輸入下列指令(install_root/bin 必須在 PATH 環境變數中,其中 install_root 是 WebSphere Application Server 基本程式安裝根目錄):

    Windows 平台:
    addNode <deploymgr host>

    Linux 和 UNIX 平台:
    addNode.sh <deploymgr host>

    iSeries 平台:
    install_root/bin/addNode <deploymgr host> <deploymgr port> -profileName <profileName> -startingport <portblock>

    其中:
    <deploymgr host> 是執行部署管理程式的主機名稱。
    <deploymgr port> 是部署管理程式的 SOAP 連接器埠。
    <profileName> 是要加到部署管理程式中的應用程式伺服器的設定檔名稱。
    <portblock> 未用埠的區塊。用來避免在多實例環境中發生埠衝突。

  3. 請在安裝第二個 WebSphere Application Server 實例的機器上重複這項程序。

現在已將應用程式伺服器納入資料格中。



建立 Web 儲存器叢集

MyWebCluster 叢集提供 Servlet 的工作量平衡和失效接手。

請完成下列步驟來建立 MyWebCluster 叢集:


  1. 在瀏覽器中開啟管理主控台 Web 位址 http://<host_name>:9060/ibm/console,其中 <host_name> 是執行部署管理程式的主機名稱或 IP 位址。
  2. 在管理主控台中,按一下伺服器 > 叢集
  3. 按一下新建
  4. 在「叢集名稱」欄位中輸入 MyWebCluster
  5. 下一步
  6. 輸入下列值:
  7. 下一步
  8. 輸入下列值:
  9. 按一下套用
  10. 下一步
  11. 按一下完成
  12. 按一下管理主控台主畫面頂端的儲存
  13. 選取與節點同步變更的勾選框。
  14. 按一下儲存

這時會建立 MyWebCluster 叢集。



建立 EJB 儲存器叢集

MyEJBCluster 叢集提供 Enterprise Bean 的工作量平衡和失效接手。

請完成下列步驟來建立 MyEJBCluster 叢集:


  1. 按一下伺服器 > 叢集
  2. 按一下新建
  3. 在「叢集名稱」欄位中輸入 MyEJBCluster
  4. 取消勾選已啟用偏好本端勾選框。

    附註:在分散式平台中,選取「偏好本端」選項表示要求遞送至執行於本端節點的 Enterprise Bean(如果有的話)。 範例配置中停用了「偏好本端」選項,以示範 EJB 要求的工作量管理。

  5. 下一步
  6. 輸入下列值:
  7. 下一步
  8. 輸入下列值:
  9. 按一下套用
  10. 下一步
  11. 按一下完成
  12. 按一下管理主控台主畫面頂端的儲存
  13. 按一下儲存

這時會建立 MyEJBCluster 叢集。



更新虛擬主機

在 MyWebCluster 叢集的建立期間,會針對每一個新的叢集成員選取「產生專屬的 Http 埠」選項。 選取此選項可避免 HTTP 埠衝突,因為會為所建立的每一部新的應用程式伺服器都建立一個專屬的埠值。

請完成下列步驟來確定動態建立的每一個 HTTP 埠值都有針對 default_host 虛擬主機所配置的相關聯主機別名項目:


  1. 在管理主控台中,按一下伺服器 > 應用程式伺服器 > WebServer1 > Web 儲存器設定 > Web 儲存器傳輸鏈 > WCInboundDefault
  2. 記下停用 SSL 之項目的主機和埠值。
  3. 按一下環境 > 虛擬主機 > default_host > 主機別名
  4. 驗證「主機別名」清單是否包含在步驟 2 中所記下的主機名稱和埠值。針對未列示的值,請遵循下列步驟:
    1. 按一下新建
    2. 利用先前記下的值,輸入主機名稱和埠。
    3. 按一下套用
    4. 按一下管理主控台主畫面頂端的儲存
    5. 按一下儲存
  5. WebServer2 重複這項程序。

現在已更新虛擬主機。



啟用 WebSphere 配置服務

依預設,不會對應用程式伺服器啟用 WebSphere 配置服務。 這個範例需要這項服務依程式的方式讀取 WebSphere Application Server 配置檔,以取得環境資訊。

請完成下列步驟來啟用 WebSphere 配置服務:


  1. 按一下伺服器 > 應用程式伺服器 > WebServer1 > 伺服器 Infrastructure > 管理 > 管理服務 > 自訂內容
  2. 按一下新建
  3. 輸入下列值:
  4. 按一下套用
  5. 按一下管理主控台主畫面頂端的儲存
  6. 按一下儲存
  7. WebServer2 重複這項程序。

現在已經啟用 WebSphere 配置服務。



安裝 BeenThere.ear

請完成下列步驟來安裝 BeenThere.ear 檔:


  1. 在管理主控台中,按一下應用程式 > 安裝新的應用程式
  2. 選取遠端檔案系統,再選取瀏覽...
  3. 選取部署管理程式的節點。
  4. 選取 <install_root>/samples/lib/BeenThere/BeenThere.ear 檔, 其中 <install_root> 代表部署管理程式的安裝目錄。
  5. 按一下確定
  6. 下一步
  7. 驗證虛擬主機已設為 Web 模組和 default_host 的預設虛擬主機名稱。
  8. 下一步
  9. 按一下繼續
  10. 選取將模組對映至伺服器步驟。
  11. 從「叢集和伺服器」清單中選取 MyWebCluster 叢集和 Web 伺服器。
  12. 選取 BeenThere WAR 模組。
  13. 按一下套用
  14. 從「叢集和伺服器」清單中選取 MyEJBCluster 叢集和 Web 伺服器。
  15. 選取 BeenThere EJB 模組。
  16. 按一下套用
  17. 按一下步驟 8(摘要)。
  18. 按一下完成
  19. 按一下儲存至主要配置
  20. 按一下儲存


配置安全(選用)

如果您不要在啟用安全的情況下使用 BeenThere,您可以跳過這一節。 如果要在啟用安全的情況下使用 BeenThere,請按一下這裡,以取得配置安全的指示。



啟動伺服器

請完成下列步驟來啟動伺服器:


  1. 按一下伺服器 > 叢集
  2. 選取 MyWebCluster 和 MyEJBCluster 叢集。
  3. 按一下啟動

現在已啟動伺服器。



執行範例

如果要執行範例,請在瀏覽器中開啟 BeenThere Web 位址 http://<host_name>/wlm/BeenThere, 其中 <host_name> 是執行 IBM HTTP Server 的主機名稱或 IP 位址。





驗證範例配置

請注意,WebSphere 第 6 版以及更新版本有一個新功能,其設計是為了將整個環境的傳輸量最大化。 其最終意義在於,在這些版本上測試 BeenThere 範例時,「工作量管理」元件可能未將要求確實遞送至加權的真正值。 由於執行時期可能會修改加權,因此下面的驗證方法可能不正確。 在這些實務範例中,驗證 WLM 功能的最佳方法就是確保要求已遞送給所有叢集成員, 至於遞送是否確實依加權執行,則無關緊要。此外,也有一些方法可停用這些回饋機制,若有需要, 請聯絡 IBM 支援中心以取得詳細資料。


請完成下列步驟來驗證 Web 儲存器工作量管理是否如配置般正確運作:


  1. 在瀏覽器中開啟 BeenThere Web 位址 http://<host_name>/wlm/BeenThere, 其中 <host_name> 是執行 IBM HTTP Server 的主機名稱或 IP 位址。

  2. 請記下 Servlet 執行摘要中的值。以下提供這個摘要的範例:

  3. 在瀏覽器重新載入 BeenThere 頁面。

    Servlet 執行摘要中的值改變了,於下列範例中示範:


    現在,Servlet 節點應為 app2 而非 app1。 結果顯示 IBM HTTP Server 將 HTTP 要求分派到 MyWebCluster 叢集的其他成員:app2 上的 WebServer2。 重複執行數個 Servlet 顯示出以 MyWebCluster 叢集之叢集成員的已配置權重值為基礎的 HTTP 要求的工作量管理行為。

現在已驗證 Web 儲存器工作量管理配置。


請完成下列步驟來驗證 EJB 儲存器工作量管理是否如配置般正確運作:


  1. 針對執行 BeenThere Servlet,選取顯示 Servlet 和 Bean 執行摘要選項。
  2. Bean 呼叫欄位中輸入 7
  3. 按一下執行

    在分散式平台中,Bean 執行摘要中的值應該類似下列範例:


    您可以從這個範例中看出以 MyEJBCluster 叢集之叢集成員的已配置權重值為基礎的 Enterprise Bean 的工作量管理執行行為。 每次在 app1 上執行呼叫時,都會在 app2 上執行三次 Enterprise Bean 的呼叫。

    在 z/OS 平台中,加權值用來平衡 HTTP 要求,但不用來平衡網際網路交互 ORB 通訊協定 (IIOP) 要求。

現在已驗證 EJB 儲存器工作量管理配置。


請完成下列步驟來驗證 Bean 叢集的成員權重是否如配置般正確設定。


  1. 針對執行 BeenThere Servlet,選取顯示 Bean 叢集成員權重選項。
  2. 按一下執行

    將結果與下列範例比較:


    結果顯示 MyEJBCluster 叢集之所有成員的權重值。EJBServer1 的權重為 1,EJBServer2 的權重為 3

現在已驗證 Bean 叢集成員權重。


恭喜您!現在您已看到工作量管理在運作中,並且驗證了「BeenThere 範例」已如配置般正常運作!