WebSphere(簡稱WAS)集羣一般由一組應用服務器組成,每個服務器上部署了同樣的應用程序。通過集羣可以實現可擴展性、負載均衡、高可用性(提供故障恢復和補償機制,在關鍵性業務中提供容錯功能)。WAS提供水平集羣和垂直集羣兩種形式,垂直集羣是指同一機器上部署多個服務器,充分利用硬件資源,而水平集羣利用多臺機器資源,每臺機器部署相同的應用。本案例主要側重水平集羣,但是其中的很多概念對於垂直集羣也是適用的。
一、安裝環境和文件版本
操作系統:SUSE LINUX 10 SP3 企業版
Websphere版本:WAS7.0
安裝部署環境:一臺DM+APP 另一臺APP 還有兩個IHS服務器(或者也可裝在兩個APP上)
二、集羣部署方案圖
如圖所示
中間件平臺主要包括兩大部分:
負載分發層:
包括兩臺服務器,通過Heartbeat實現HA,提供浮動IP給客戶端,保證了系統不存在單點故障問題
負載分發軟件採用IBM HTTP Server實現
通過IBM HTTP Server配置虛擬主機,實現對不同應用的請求分發到不同的後臺WAS中間件集羣。
WAS中間件集羣:
包括兩臺服務器,每個服務器上通過水平擴展可以啓動多個WAS服務器。
基於應用部署要求,爲每個應用建立一個集羣,邏輯上實現應用之間的隔離。
保證一個集羣至少包括2個WAS實現,並且這兩個實例分別在不同的物理服務器上,這樣才能保證不出現單點故障。
三、WebSphere7集羣安裝
1、安裝前的檢查
集羣安裝時,確認所有機子的時間日期要一致
確認磁盤空間足夠
安裝目錄都是安裝於默認的/opt目錄下
確認管理域之內的所有的服務器主機名和ip地址相互能夠ping通
在安裝前,要確保四臺機的/etc/hosts文件裏面增加四臺機的ip與主機名,修改如下
**.**.**.1 app1
**.**.**.2 app2
**.**.**.3 server1
**.**.**.4 server2
(對於初次安裝系統後的主機,因爲沒有在HOSTS文件中增加此類記錄,會導致安裝失敗,現象是安裝後生成的profiles不完整,並且startManager.sh執行失敗,啓動不了管理服務。另外,安裝完WAS後,不能隨意修改主機名,否則WAS的服務啓動不了,需要重新安裝)
2、開始安裝
上傳安裝的軟件介質到指定的服務器,配置服務器能夠用xmanager或VNC進行圖形化安裝。如不能進行圖形化安裝,則需要修改was或his下的responsefile.txt文件中的各參數,工作量大而且易出錯。
進入suse linux環境,打開終端,打開文件系統,在was安裝目錄下找到launchpad.sh腳本 ,./launchpad.sh運行
下一步,進入下一個安裝畫面
選擇I ACCEPT,再下一步使用默認的安裝目錄(也可自定義安裝目錄)
接下來再進行下一步,選擇第一項安裝CELL,會安裝dmgr01與appsrv01,並且自動聯結。
注:app1主機是管理控制的主機需安裝dmgr與appsrv,app2只安裝一個Application Server(APPSRV),這是兩臺應用服務器安裝過程的唯一區別
後面下一步下一步,直至安裝完成。
安裝成功完成後,在app1主機下的/opt/IBM/WebServer/AppServer/profiles目錄下可看到DMGR01,APPSRV01兩個目錄。其中DMGR01是管理臺概要文件,只在app1主機上有。
同樣,在主機app2機上安裝was後,在app2下的/opt/IBM/WebServer/AppServer/profiles目錄下可看到APPSRV01一個目錄。
在app1主機下的profiles\DMGR01\FIRSTSTEPS目錄下,
運行firststeps.sh,可進行安裝後檢測
檢測結果如果正常,則DMGR服務可正常啓動,訪問端口是9060
此時到IE,可打開WAS控制檯
http://**.**.**.**:9060/ibm/console
輸入用戶名和密碼,進入主控畫面
此時在服務器可以看到一個SERVER1,但沒有啓動代理服務前,前臺是不能啓動的。
需到服務器下運行。
# cd Profiles/AppSrv01/bin
# ./startNode.sh
節點代理啓動
ADMU0116I: Tool information is being logged in file
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/nodeagent/startServer.log
ADMU0128I: Starting tool with the AppSrv01 profile
ADMU3100I: Reading configuration for server: nodeagent
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server nodeagent open for e-business; process id is 330
此時再到前控制檯,可正常啓動server1了
(或者在服務器下運行命令./startServer.sh Server1 ,同樣可以啓動服務)
至此,主機APP1安裝並驗證完畢。
在APP2上:
過程同app1機,不同處只是在概要文件創建裏不選擇cell,只選擇一個application server就行了。
安裝執行完成後,檢查profiles下,已有appsrv01
至其下的bin執行如下腳本,關聯節點NODE2到主機app1(server1)的DMGR服務節點
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
./addNode.sh **.**.**.** 8879
其中IP地址是主機app1的IP,後面的8879是SOP端口。
輸入app1上DMGR01管理用戶wasadmin,口令******
執行成功
# ./addNode.sh **.**.**.** 8879
ADMU0116I: Tool information is being logged in file
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/addNode.log
ADMU0128I: Starting tool with the AppSrv01 profile
CWPKI0308I: Adding signer alias "CN=APP1, OU=Root Cer" to local
keystore "ClientDefaultTrustStore" with the following SHA digest:
B5:37:07:88:00:A4:78:10:95:B0:56:17:3C:8D:A9:A7:C0:BD:76:3F
Realm/Cell Name: <default>
Username: admin
Password:
CWPKI0308I: Adding signer alias "datapower" to local keystore
"ClientDefaultTrustStore" with the following SHA digest:
A9:BA:A4:B5:BC:26:2F:5D:2A:80:93:CA:BA:F4:31:05:F2:54:14:17
ADMU0001I: Begin federation of node AAAAAPP2-******Node01 with Deployment
Manager at **.**.**.36:8879.
ADMU0009I: Successfully connected to Deployment Manager Server:
**.**.**.36:8879
ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: server1
ADMU2010I: Stopping all server processes for node AAAAAPP2-******Node01
ADMU0512I: Server server1 cannot be reached. It appears to be stopped.
ADMU0024I: Deleting the old backup directory.
ADMU0015I: Backing up the original cell repository.
ADMU0012I: Creating Node Agent configuration for node: AAAAAPP2-******Node01
ADMU0014I: Adding node AAAAAPP2-******Node01 configuration to cell:
APP1Cell01
ADMU0016I: Synchronizing configuration between node and cell.
ADMU0018I: Launching Node Agent process for node: AAAAAPP2-******Node01
ADMU0020I: Reading configuration for Node Agent process: nodeagent
ADMU0022I: Node Agent launched. Waiting for initialization status.
ADMU0030I: Node Agent initialization completed successfully. Process id is:
6848
ADMU0300I: The node AAAAAPP2-******Node01 was successfully added to the
APP1Cell01 cell.
ADMU0306I: Note:
ADMU0302I: Any cell-level documents from the standalone APP1Cell01
configuration have not been migrated to the new cell.
ADMU0307I: You might want to:
ADMU0303I: Update the configuration on the APP1Cell01 Deployment
Manager with values from the old cell-level documents.
ADMU0306I: Note:
ADMU0304I: Because -includeapps was not specified, applications installed on
the standalone node were not installed on the new cell.
ADMU0307I: You might want to:
ADMU0305I: Install applications onto the APP1Cell01 cell using
wsadmin $AdminApp or the Administrative Console.
ADMU0003I: Node AAAAAPP2-******Node01 has been successfully federated.
此時再到app1主機的DMGR控制檯可以看到節點app2主機的SERVR1
可以啓動app2機上的SERVER1。(在app2機上的profiles/appsvr01/bin下執行./startServer.sh server1也可)
四、WebSphere7集羣配置
把app1與app2的應用服務放在集羣中
1、刪除兩個應用服務器下的單個SERVER。
停止兩個服務後,刪除,保存設置。
把單個服務器刪除
2、建集羣,起名HR_cluster
下一步分別對應兩應用服務主機,各一個SERVER,分別名稱爲
app1
app2
進入系統管理->節點中同步各節點
然後啓動集羣,集羣可正常啓動
至此,兩臺應用服務器的集羣安裝完畢!
五、安裝IHS HTTP WEB服務器
安裝IHS HTTP SERVER與PLUGINS插件
解壓程序安裝包後,執行http_ins/ihs/目錄下的install.sh文件,用xmanager來執行該文件進行安裝。
安裝畫面如下:
第一步設置端口,選擇默認的
Web1機的http port 80
http administration port 8008
後面一步,在設置插件安裝目錄與應用服務器主機名稱那裏,
app1對應的插件安裝目錄是默認的/opt/IBM/HTTPServer/plugins
對應的應用服務主機名設爲 app1
(注意:app2那臺機安裝httpserver時,選擇對應的應用服務主機設爲app2,其他過程都相同)
注意在管理用戶與口令那裏設置爲admin,******
注意:因爲這兩個web服務器要通過另外一臺應用服務器的dmgr來管理,所以這裏的安全管理用戶與口令要設。否則dmgr上無法管理啓停。
下面這一步,設置用戶與組分別爲nobody,nobody
(注意:這個用戶與組在etc/group,passwd,shadow中要有)
兩臺IHS HTTP WEB服務器的啓動過程
正常過程:
在兩臺WEB服務器下,HTTPServer/bin目錄下,執行如下腳本,啓停apache服務
./apachectl start
提示./adminctl start: admin http started
回到app1的DMGR主控制檯,建立WEB服務節點與啓動管理。
選擇系統管理->節點,增加非受管制的兩個WEB節點(前面兩個app節點是受管制節點)
點添加,選擇非受管節點
爲WEB1機上的節點命名並設置主機名稱
非受管節點名稱:servernode01
主機名:server1
第一個節點添加成功
再同樣操作繼續添加第二個非受管節點
非受管節點名稱:servernode02
主機名:server2
然後回到服務器類型下,選擇WEB服務器,選擇兩個非受管節點,分別去創建WEBSERVER
下一步後,增加設置屬性,管理用戶與口令 .用戶與口令是在WEB機上安裝IHS HTTP SERVER時的設置admin,admin
完成第一個WEB節點上WEBSERVER的創建
同上操作再去完成第二個web服務節點的webserver創建。
兩個都創建完畢後。選擇生成插件(Generate plug-in)和傳播插件(Propagate Plug-in)
生成插件成功,提示如下:
PLGC0005I: Plug-in configuration file =
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode1/servers/webserver1/plugin-cfg.xml
PLGC0052I: Plug-in configuration file generation is complete for the Web server. APP1Cell01.webnode1.webserver1.
PLGC0005I: Plug-in configuration file =
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode2/servers/webserver1/plugin-cfg.xml
PLGC0052I: Plug-in configuration file generation is complete for the Web server. APP1Cell01.webnode2.webserver1.
傳播插件成功,提示如下:
PLGC0062I: The plug-in configuration file is propagated from
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode1/servers/webserver1/plugin-cfg.xml to
/opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer.
PLGC0048I: The propagation of the plug-in configuration file is complete for the Web server. APP1Cell01.webnode1.webserver1.
PLGC0062I: The plug-in configuration file is propagated from
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode2/servers/webserver1/plugin-cfg.xml to
/opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer.
PLGC0048I: The propagation of the plug-in configuration file is complete for the Web server. APP1Cell01.webnode2.webserver1.
兩個WEB服務已建立,並可通過DMGR 來控制啓停。
最後安裝補丁加強系統的安全性。至此整個部署過程完畢。