<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-72  評論-20  文章-0  trackbacks-1
    本文通過兩個實際場景,介紹如何從頭搭建一個WAS ND水平集群環境以及如何將一個已有的單節點(或三節點)Web環境擴展成五節點的集群環境。

    1. 介紹

    當前,越來越多的企業用戶基于WebSphere應用服務器和DB2數據庫環境搭建業務系統,實現電子商務。隨著業務量的增大,企業對系統的負載量 和高可用性提出了更多的要求,特別是一些關鍵業務,如金融,通信,交通等,要求確保系統24*7*365的可用性。通過WAS ND集群,可以實現包含多個應用服務器的分布式環境,確保系統的吞吐量和高可用性。本文通過兩個實際場景,介紹如何從頭搭建一個WAS ND水平集群環境以及如何將一個已有的單節點(或三節點)Web環境擴展成五節點的集群環境。







    2. WAS ND集群基本概念及體系結構

    什么是集群?WAS集群由一組應用服務器組成,每個服務器上部署了同樣的應用程序。通過集群可以實現可擴展性(服務更多客戶,提高吞吐量),負載均 衡(平衡負載資源,使資源得以有效利用),高可用性(提供故障恢復和補償機制,在關鍵性業務中提供容錯功能)。WAS ND提供水平集群和垂直集群兩種形式,垂直集群是指同一機器上部署多個服務器,充分利用硬件資源,而水平集群利用多臺機器資源,每臺機器部署相同的應用。 本文主要側重水平集群,但是其中的很多概念對于垂直集群也是適用的。

    圖2.1是ND分布式環境的體系結構,包括單元、節點、服務器等基本概念。每個單元是單一管理域中的一組節點,在基本版和演示版中,一個單元只包含 一個節點,每個節點可以有多個服務器,但是每個服務器的配置文件是單獨存儲和維護的。每個單元可以包含一個或多個集群,也可以不包含集群。在分布式環境 中,每個單元包含多個節點,這些節點被統一管理,而且它們的配置文件被中心化到單元主配置文件中。配置管理器線程負責管理這些集中配置文件,并且將任何配 置變化同步到每個節點上。節點是服務器線程的邏輯組,每臺機器上只能有一個節點,通過節點代理器同配置管理器通信。在ND環境中,WAS plugin起到負載均衡的作用,在plugin-cfg文件中可以定義每個服務器的權重,根據權重值,plugin決定將一個請求定向到哪個服務器。


    圖2.1WAS 6.0 ND分布式環境的體系結構
    圖2.1WAS 6.0 ND分布式環境的體系結構






    3. 搭建WAS ND集群環境

    在實際的企業應用中,存在兩種不同的集群場景,一種是從頭搭建集群環境,然后將應用部署到集群中;另外一種是基于已有的單節點環境(或三節點環境)擴展成集群環境。本文將會覆蓋這兩種場景的配置和部署,為讀者提供切實可行的指導。

    圖3.1是最終的集群環境,包含五個節點,分布在五臺機器上,一臺用于部署Deployement Manager,作為集中管理接口管理WAS集群成員;兩臺作為WAS集群成員,具體處理商業邏輯;一臺作為Web服務器,用于接收用戶請求,并通過 plugin配置文件將負載均衡到WAS集群成員上。一臺作為數據庫節點,存儲企業數據。此例中, DM節點和Web服務器節點是Window操作系統,其余均為AIX5.2操作系統。對于Web服務器的選擇,可以是任何WAS支持的服務器,在此我們選 擇IBM HTTP Server(IHS),對于其他Web服務器,其基本原理是一樣的,不同的是某些配置和操作需要手工處理。對于數據庫服務器,其基本操作完全一致,此例 中我們選擇DB2。


    圖3.1 五節點cluster拓撲
    圖3.1  五節點cluster拓撲

    場景1:從頭搭建ND集群環境

    在這個場景中,企業一開始就有集群環境的需求,這就需要首先搭建集群環境,然后在cluster上部署企業應用程序。以下是詳細操作步驟,最后通過部署一個企業應用來測試。

    一. 準備WAS 配置管理節點

    1. 在silkpc01 服務器上安裝WAS6 ND 版本(安裝結束后不要立即創建profile).注意安裝最新的補丁.

    2. 用profile向導創建一個配置管理profile. 首先選擇配置管理profile作為profile類型,默認的DM profile名稱是Dmgr01.



    3. 接下來的步驟選擇默認值,記住SOAP連接端口號,默認值是8879.這個端口號會在以后的配置中用到。



    4. 運行<profile>/Dmgr01/bin/startManager.bat啟動管理服務.

    5. 登陸http://silkpc01.cn.ibm.com:9060/admin管理控制臺確認安裝是否成功.

    二. 準備Web Server節點

    1. 在silkpc06服務器上安裝 IBM IHS6.0(選擇典型安裝)

    2. 確保IHS安裝成功. 啟動Web server,測試http://silkpc06/返回頁

    三. 安裝配置WAS Plugin

    對于靜態Web頁面請求,Web Server會直接處理并將結果返回給終端用戶。而對于動態Web頁面,如JSP,Servlet等,需要WAS plugin將請求傳遞給WAS Web容器或者EJB容器來處理。下面將介紹如何安裝和配置WAS plugin應用。

    1. 確認IBM IHS6.0安裝成功后,安裝WAS plugin應用程序,選擇"IBM HTTP Server V6"



    2. 在接下來的步驟中選擇plugin的安裝路徑,IHS配置文件httpd.conf的位置,指定Web服務名字,缺省是webserver1

    3. 然后選擇Deployement Manager所在服務器的作為應用服務器,這里是silkpc01



    四. 把Web Server節點加入配置管理服務器.

    1. 開啟IHS的admin管理: 在silkpc06<IHS-install>/bin目錄下運行httpasswd -cm <install_dir>"conf"admin.passwd admin(admin 是以后管理IHS的用戶名). 接著輸入兩次密碼.

    2. 在silkpc06的服務管理面板中啟動IBM HTTP Server 和 IBM HTTP Administration Server.

    3. 將silkpc06的<plunin-install>/bin/ configurewebserver1.bat文件拷貝到silkpc01的<was-install>/bin目錄.

    4. 在silkpc01上啟動DM服務 < was-install >/profiles/ profiles"Dmgr01"bin" startManager.bat.

    5. 在silkpc01打開一個命令行窗口,運行<was-intall/bin/configurewebserver1.bat.

    6. 到配置管理控制臺確認Web Server被成功加入.



    7. 點擊webserver1, 進入后在"additional properties"頁中點擊"remote web server",輸入在第1步中生成的用戶名和密碼。這樣Web Server就可以被配置管理器進行集中管理,包括停止/啟動,以及plugin文件的生成和部署。

    五. 準備應用服務器節點

    1. 在psvt12 服務器上安裝WAS6,注意安裝最新的WAS補丁

    2. 執行< was-install >/ bin/ProfileCreator/ pctAIX.bin 啟動profile向導.

    3. 選擇應用服務profile作為profile類型.

    4. 其余步驟使用默認值安裝.

    5. 在另外一個WAS節點psvt07上執行1至5步.

    六. 把應用服務器節點加入到集中管理單元

    1. 為保持同步,確保silkpc01, psvt12 和psvt07三臺機器上的時間差不超過5分鐘.

    2. 在psvt12上執行< was-install >/ profiles/AppSrv01/bin/startServer.sh server1 啟動 server1

    3. 在psvt12上執行< was-install >/ profiles/AppSrv01/bin/addNode.sh <DM machineName> <DM soap port>把psvt12節點加入到集中管理單元. 本例中DM機器名是silkpc01, soap端口號 為8879.

    4. 在另外一臺節點psvt07上重復2至3步將此節點也加入到集中管理單元.

    5. 在配置管理控制臺確認psvt07和psvt12加入到集中管理單元,如下圖:



    七. 準備數據庫節點

    1. 在數據庫服務器psvt06上安裝DB2 v8.2.

    八. 創建cluster

    1. 在WAS節點psvt07和psvt12上運行<profile>/bin/startNode命令啟動node agent

    2. 登錄管理控制臺,創建Cluster。輸入Cluster名字,點擊Next.



    3. 輸入psvt07作為成員名字, 在"Select node"下拉列表中選擇psvt07Node01, 點擊Apply.



    4. 在同一頁面輸入psvt12作為成員名字, 選擇psvt12Node01, 點擊Apply.



    5. 點擊Next查看Cluster信息.



    6. 點擊finish創建cluster

    7. 點擊save保存和同步cluster(注意:在Cluster環境中,保存任何修改時都應該選上"與節點同步"的選項)



    8. 確認cluster創建成功.從下圖可以發現psvt07和psvt12已經作為cluster成員



    至此我們已經完成了cluster的創建,接下來需要部署一個企業應用來測試。

    九. 創建數據源(Datasource)

    為了讓將來發布在Cluster上的應用能連接到數據庫, 我們需要在psvt07和psvt12節點上創建相同的數據源.

    1. 登錄管理控制臺, Security'Global security->JAAS Configuration->J2C Authentication data , 點擊New.

    2. 輸入數據庫節點上的數據庫用戶及密碼,點擊Apply保存



    3. 進入管理控制臺, Resource'Jdbc Provider, 選擇psvt07節點.然后點擊New創建一個新的Jdbc Provider. 注意此處應該是在節點范圍。如果在cluster級別,可能出現問題。



    4. 選擇Jdbc Provider類型和實現類



    5. 點擊Apply按鈕保存Jdbc Provider, 并點擊Data sources.



    6. 點擊New創建一個新的Data sources.

    7. 輸入jdbc/sample作為JNDI名字.



    8. 輸入數據庫sample和數據庫節點所在的主機名,選擇上面新建的J2C認證.



    9. 保存和同步新建的內容.

    10. 設置psvt07節點的變量. Enviromnet->Wesphere Variables, 選擇psvt07節點并設置DB2 JDBC driver路徑.



    11. 重復5至12步, 在psvt12節點上創建一個相同的DataSource.

    12. 在silkpc01上重啟DM服務, 在psvt07和psvt12上重啟nodeagent服務。可以通過"Test Connection"測試節點的數據源配置是否正確。

    十. 部署應用程序,測試集群環境

    1. 下載應用程序到本地并解壓縮。

    2. 在數據庫節點創建數據庫sample(確保數據庫名和第九步中鍵入的數據庫名一致),并創建表(ddl.txt),加載數據(data.txt)。

    3. 登錄管理控制臺發布應用, Applications->Install New Application, 選擇Department.ear 作為發布的應用, 點擊Next.

    4. 選擇default_host作為 Virtual host, 點擊Next.

    5. 輸入應用的名字, 點擊Next.

    6. 在server列表中選擇 TestCluster, 在模塊(Module)列表中選擇DepartmentEJB,點擊Apply.

    7. 按住Ctr鍵, 在server列表中選擇 TestCluster和WebServer1, 在模塊列表中選擇DepartmentWeb, 點擊Apply.



    8. 點擊Next.

    9. 確認CurrentBackendId 為DB2UDBNT_V82_1,點擊Next.

    10. 點擊Next.

    11. 在應用部件列表中, 輸入jdbc/sample 作為DepartmentEJB的Data Source 的JNDI名字.

    12. 忽略出現的警告,點擊Continue.

    13. 在應用部件列表中, 輸入jdbc/sample 作為DepartmentEJB的Data Source 的JNDI名字.

    14. 忽略出現的警告,點擊Continue.

    15. 點擊Next.

    16. 確認DepartmentWeb的Virtual host 是default_host, 點擊Next.

    17. 點擊Next.

    18. 點擊Finish部屬應用在Cluster上.

    19. 保存和同步新的修改.

    20. 重新啟動cluster.

    21. 確認應用程序啟動后,在IE瀏覽器鍵入:http://silkpc06/DepartmentWeb/getDepartmentName.html,輸入部門號A00并提交,確認系統返回一個正確的頁面.

    場景2: 拆分WAS 單節點環境為ND集群環境

    如果企業的最初應用搭建在單節點之上,即WAS應用服務器、Web服務器和數據庫都在同一物理機器上。或者應用搭建在三節點,WAS應用服務器、 Web服務器和數據庫分布在三臺機器。但是隨著業務需求的增加,用戶希望在保持現在投資的基礎上提供更高的擴展性,容錯性和處理性能,這就有了集群環境的 需求。本場景將介紹如何將此單節點(或三節點)擴展成圖3-1拓撲的五節點環境。對于單節點環境,您需要從第一步開始操作,而對于已有的三節點環境,則可 以省去第-和第二步的部分操作,免去單節點拆分成三節點的步驟,而進入第三步。

    在此我們假設本文提供的應用程序已經發布到psvt12節點,此節點包含WAS, IHS和DB2環境,并且應用系統可以正常的工作。 (http://psvt12/DepartmentWeb/getDepartmentName.html).

    一. 準備安裝其他各節點

    1. 在silkpc01節點上安裝WAS6 ND 版本, 并用profile向導創建一個配置管理profile.

    2. 在另外一個Cluster成員psvt07 節點上安裝WAS6 ND 版本, 并用profile向導創建一個應用服務profile. 并在此節點安裝DB2客戶端.

    3. 在Web服務器 silkpc06上安裝IBM IHS 6.0 和WAS Plugin. 安裝Plugin時,選擇Remote方式, 選擇silkpc01為應用服務器。并開啟IHS的admin遠程管理服務. (請參照場景一)

    4. 在數據庫節點psvt06節點上安裝DB2 8.2服務器

    二. 把psvt12上的應用拆分到三節點上

    1. 在psvt12節點上備份當前的數據庫,并把該數據庫備份文件上傳到psvt06節點, 然后在psvt06節點上恢復該數據庫.

    2. 在psvt12的管理控制臺(http://psvt12.cn.ibm.com:9060/ibm/console/)修改server1的DataSource: 把DataSource的服務器名指向數據庫服務器psvt06. 然后測試連接.



    3. 在psvt12的管理控制臺把應用系統所映射到的虛擬主機(virtual host)-主機別名(Host Aliases)屬性頁的Host Name 指向Web服務器silkpc06.



    4. 在psvt12的管理控制臺重新生成Web server 的plug-in, 然后把psvt12節點生成的plugin-cfg.xml 文件拷貝到silkpc06節點的相對應目錄下.

    5. 將psvt12節點的httpd.conf 文件文件拷貝到silkpc06節點的相對應目錄下, 并把該httpd.conf文件中的所有host name 改為silkpc06.

    6. 重啟psvt12節點上的 server1和silkpc06 節點上的Web Server.

    7. 這樣就將psvt12單節點上的應用拆分為silkpc06(Web節點), psvt12(WAS節點), psvt06(DB2節點)三層結構.

    8. 訪問http://silkpc06/DepartmentWeb/getDepartmentName.html驗證三節點拆分成功.

    三. 把各節點加入集中管理單元

    本部分首先需要修改一些配置參數(1-4步),接著配置Web Server加入到管理單元(6-14步),并將WAS節點加入到管理單元(5,15和16步)

    1. 確認silkpc01, psvt12 和psvt07三臺機器上的時間差不超過5分鐘.

    2. 在psvt12節點上修改addNode.sh 命令的JVM參數:

    a. 用文本編輯器打開<WAS_installdir>/bin/addNode.sh 文件.

    b. 找到下面的命令行


    "$JAVA_HOME"/bin/java "

    c. 在該命令行下面加入下面的參數


    Xms256m -Xmx512m "

    3. 在psvt12節點上修改SOAP的參數:

    a. 用文本編輯器打開<profile_dir>/properties/soap.client.props文件.

    b. 找到下面的參數


    com.ibm.SOAP.requestTimeout

    c. 把它的值改為6000

    注意: 在把psvt12加入到管理單元后,把該參數改回到原來的值.

    4. 在DM管理控制臺(silkpc01)修改DM的JVM參數: System Administration > Deployment Manager > Java and Process Management > Process Definition > Java Virtual Machine.

    a. 把Initial Heap Size 設為: 256

    b. 把Maximum Heap Size 設為: 512

    5. 在psvt12節點運行下面的命令把psvt12加入到管理單元: < profile_dir >/bin/addNode.sh silkpc01.cn.ibm.com 8879 -includeapps 注意: -includeapps 參數是表示把該節點上的應用一起加入管理單元.

    6. 在DM控制臺新建一個unmanaged節點,把該節點的hostname指向silkpc06. 通過(System Administration >Nodes>Add Node)命令





    7. 在DM控制臺新建一個webserver, 并把它放置在剛建的unmanaged節點上. Servers>Web servers>New



    8. 點Next, 輸入IHS 和Plug-in的安裝路徑.



    9. 點Next, 設置IHS admin的管理員和密碼(在第一部分的第3步中已經創建).



    注意: 確保在8,9步中輸入了正確的值, 否則Plug-in的變化將不能自動發布到Web Server節點.

    10. 點Next, 用默認值完成剩余步驟.

    11. 在DM控制臺新建一個Virtual host, 并把Host Aliases的Host Name 指向silkpc06.



    12. 把已有的應用系統映射到Server1和webserver1上, Applications>Enterprise Applications>AppName>Additional Properties>Map modules to servers.

    13. 在server列表中選擇 Server1, 在應用部件列表中選擇DepartmentEJB,點擊Apply. 按住Ctr鍵, 在server列表中選擇Server1和WebServer0, 在應用部件列表中選擇DepartmentWeb, 點擊Apply.

    14. 把應用中的web模塊映射到新建的virtual host上. Applications>Enterprise Applications>AppName>Additional Properties> Map virtual hosts for Web modules, 把DepartmentWeb映射到剛建的virtual host上.

    15. 在psvt7節點運行下面的命令把psvt7加入到管理單元: < profile_dir >/bin/addNode.sh silkpc01.cn.ibm.com 8879

    16. 在DM控制臺為psvt7節點添加Datasouce所用到的WebSphere變量, Environment> WebSphere Variables >選擇psvt07節點并設置下圖中被紅線框住的變量.



    四. 創建cluster

    1. 在WAS節點psvt07和psvt12上運行<profile>/bin/startNode命令啟動節點代理器.

    2. 登錄DM管理控制臺,Servers>Cluster>New,輸入Cluster名字, 并選擇psvt12節點上的server1加到cluster,點擊Next.



    3. 輸入psvt12作為成員名字, 選擇psvt12節點,點擊Apply.

    4. 確認server1和psvt12節點已經被加入到Cluster成員列表中, 點擊Next.

    5. 點擊Finish創建cluster.

    6. 把psvt07加入到cluster: Servers>Cluster>ClusterName>Additional Properties>Cluster members>New

    7. 輸入psvt07作為成員名字, 選擇psvt07節點,點擊Apply,點擊Next.

    8. 點擊Finish把把psvt07加入到cluster.

    9. 確認應用程序被正確映射: Applications>Enterprise Applications>AppName>Additional Properties>Map modules to servers.

    10. 確認 DepartmentEJB被映射到TestCluster, DepartmentWeb被映射到TestCluster+ WebServer0. 如果映射有誤,可以在該頁重新映射.

    五. 測試集群環境應用程序

    同場景1第十步的最后一步操作。







    4. 結束語

    隨著電子商務的廣泛應用,越來越多的企業希望搭建WAS集群環境以提高應用的擴展性和性能。本文針對實際需求,詳細介紹了如何搭建集群環境以及如何擴展已有的應用環境為WAS集群環境。







    5. 下載

    樣例代碼:Department.zip



    參考資料


    posted on 2007-11-02 11:06 前方的路 閱讀(1655) 評論(0)  編輯  收藏 所屬分類: 軟件架構Web應用服務器
    主站蜘蛛池模板: 亚洲国产成人久久精品99 | 99国产精品免费视频观看| 亚洲人成网www| 成人a视频片在线观看免费| 亚洲精品中文字幕| 中文毛片无遮挡高清免费| 伊伊人成亚洲综合人网7777| 91福利免费体验区观看区| 亚洲av永久无码精品网址| 亚洲美女aⅴ久久久91| 国产成人毛片亚洲精品| 日本免费一区二区三区最新| 先锋影音资源片午夜在线观看视频免费播放| **一级一级毛片免费观看| 美女扒开尿口给男人爽免费视频| 国产免费一区二区三区| 国产亚洲?V无码?V男人的天堂| 国产偷国产偷亚洲高清人| 亚洲人成电影在线天堂| 国产V亚洲V天堂A无码| 日本免费一区二区三区最新vr| 亚洲中文字幕无码亚洲成A人片| a级毛片免费全部播放| 亚洲色婷婷综合久久| 精品免费国产一区二区| 国产精品国产午夜免费福利看 | 丝瓜app免费下载网址进入ios| 亚洲精品综合久久| 国产精品免费视频网站| 日本久久久免费高清| 亚洲av无码成人影院一区| 国产成人综合亚洲一区| 国产亚洲精品成人久久网站 | 亚洲视频欧洲视频| 亚洲精品免费在线| 中文字幕乱码亚洲精品一区| 亚洲一级大黄大色毛片| 又硬又粗又长又爽免费看| a级大片免费观看| 妞干网在线免费视频| 亚洲视频在线精品|