最佳實踐:基于Oracle RAC構建WebSphere Process Server6.2高可用性_第1頁
最佳實踐:基于Oracle RAC構建WebSphere Process Server6.2高可用性_第2頁
最佳實踐:基于Oracle RAC構建WebSphere Process Server6.2高可用性_第3頁
最佳實踐:基于Oracle RAC構建WebSphere Process Server6.2高可用性_第4頁
最佳實踐:基于Oracle RAC構建WebSphere Process Server6.2高可用性_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、最佳實踐:基于Oracle RAC構建WebSphere Process Server6.2高可用性田甜 IBM軟件測試工程師 胡濱 IBM軟件測試工程師1.      概述Oracle RAC (Real Application Cluster,真正應用集群)  由多臺Oracle數(shù)據(jù)庫服務器組成,保證了單一節(jié)點宕機后失敗切換,另一方面,Oracle RAC可進行并行計算和負載均衡,與單一數(shù)據(jù)庫節(jié)點相比,性能更加穩(wěn)定。WebSphere Process Server提供了對Oracle RAC的配置支持,用來保證大數(shù)據(jù)量處

2、理和系統(tǒng)的實時可靠性。本文介紹使用Oracle RAC的失敗切換功能來介紹WebSphere Process Server對(以下簡稱WPS)高可用性的支持。在實現(xiàn)此測試過程中,筆者將數(shù)據(jù)庫服務器上的一個節(jié)點置為不可用的情景來觸發(fā)Oracle實施失敗切換(failover)功能,與此同時,事件不停息地產生并持續(xù)流經到WPS中進行正常處理。筆者使用CitiApp場景來完成這個事件發(fā)送過程。為方便起見,本文以Websphere Process Server 6.2 Stand-alone單機架構為例,詳細闡述配置步驟及場景測試驗證。在網絡部署架構(Network Deployment)中,配置過程

3、是類似的。在本文中,筆者使用兩臺Linux機器作為Oracle節(jié)點,一臺共享磁盤陣列來存放Oracle數(shù)據(jù)文件和日志文件。拓撲圖如下所示:圖1:Oracle RAC拓撲結構 在使用多節(jié)點的Oracle RAC拓撲結構之前,首先要確保單一節(jié)點的Oracle數(shù)據(jù)庫在WPS中正確配置,即本文第二部分所述的單點配置,在此基礎上,才能繼續(xù)進行針對WPS的Oracle RAC即集群配置。2.      Oracle RAC的單節(jié)點配置配置基于Oracle數(shù)據(jù)庫的WPS通用配置過程包括以下幾個部分。2.1  拷貝驅動文

4、件將Oracle驅動文件(classes12.zip)從Oracle DB服務器拷貝到WPS服務器。2.2  建立Oracle用戶在Oracle中建立多個Oracle用戶,以用于WPS的不同用途。在此說明,針對Oracle數(shù)據(jù)庫的內部原理,每個實例(instance)擁有一套獨立的系統(tǒng)資源,建立多個實例將消耗巨大的系統(tǒng)資源(CPU,內存,硬盤空間等)。而在一個實例中創(chuàng)建多個用戶(或模式,Schema)則可共享一個實例的資源,但實例的配置參數(shù)是共享的。讀者可以選擇創(chuàng)建多個實例以區(qū)分不同的實例參數(shù)來達到特定的性能要求,或根據(jù)本文的推薦,在同一實例中建立不同的模式以示區(qū)分。表1:

5、WPS使用的Oracle用戶本文使用的模式/用戶名WPS中使用的默認名稱說明WPCDB實例ID的前3個字母+COMMWPS主要配置用戶CEIDB實例ID的前3個字母+CEID用來配置公共事件基礎結構(CEI)SCASYSMSG實例ID的前3個字母+SS00用來配置服務組件架構(SCA)中系統(tǒng)總線(System Bus)消息引擎(Messaging Engine,ME)的數(shù)據(jù)存儲SCAAPPMSG實例ID的前3個字母+SA00用來配置SCA中應用總線(Application Bus)上ME的數(shù)據(jù)存儲CEIMSG實例ID的前3個字母+CM00用來配置CEI上ME中的數(shù)據(jù)存儲BPCMSG實例ID的前

6、3個字母+BM00用于配置業(yè)務流程編排器(Business Process Choreographer, BPC)總線上的數(shù)據(jù)存儲BPCDB實例ID的前3個字母+BE00用于業(yè)務流程編排器容器(BPC container)的配置BPCOBS說明:此用戶只限于對安裝了業(yè)務流程編排器瀏覽器有效實例ID的前3個字母+BC00用于業(yè)務流程編排器瀏覽器(BPC explorer)的配置在Oracle中創(chuàng)建了以上用戶后,我們需要在Oracle中將以上用戶授予相應權限。以下為授予WPCDB用戶的例子,讀者需重復此步驟直至以上所有用戶均授予了權限。grant connect, resource, unlimi

7、ted tablespace to WPCDB;grant execute on dbms_system to WPCDB;grant javauserpriv to WPCDB;2.3 安裝WPS 產品      本文略去安裝WPS產品的過程,在過程中注意選擇“延遲創(chuàng)建概要文件”。2.4  創(chuàng)建概要文件在安裝產品之后,需要手工創(chuàng)建概要文件。本文推薦使用manageprofiles.bat/manageprofiles.sh命令來手工創(chuàng)建概要文件,而非Profile Management Tool (PMT)。原因

8、是因為,基于oracle的概要文件,在PMT工具中只能使用WPS默認用戶名(見表1中的第2列),而不能使用自定義的用戶名稱,這將使得手工創(chuàng)建的Oracle用戶沒有用武之地。以下是基于Oracle的manageprofiles命令的一個范例:manageprofiles.bat -create -templatePath D:IBMWPS62GMprofileTemplatesdefault.wbiserver -profileName oraProfile -enableSecurity false -configureBPC false -dbType ORACLE10G-dbName RA

9、S -ceiDbName RAS -dbDelayConfig true -dbCommonForME true -dbDriverType oracle_thin -dbJDBCClasspath D:ora_driver -dbServerPort 1521 -configureBSpace false -configureBRM false -dbHostName 76 -winserviceCheck false -dbCommonUserId WPCDB -dbCommonPassword passw0rd -dbCeiUserId CEIDB -dbCeiPas

10、sword passw0rd -dbSysMeUserId SCASYSMSG -dbSysMePassword passw0rd -dbAppMeUserId SCAAPPMSG -dbAppMePassword passw0rd -dbCeiMeUserId CEIMSG -dbCeiMePassword passw0rd -dbBPCMeUserId BPCMSG -dbBPCMePassword passw0rd參數(shù)說明:-dbType: ORACLE10G用來標識使用的是Oracle10g版本數(shù)據(jù)庫-dbName: Oracle數(shù)據(jù)庫的實例名稱-ceiDBName:同-dbName-

11、dbDriverType:使用oracle_thin方式的驅動程序-dbJDBCClasspath: WPS機器上classes12.zip驅動程序的路徑-dbHostName: Oracle數(shù)據(jù)庫主機名/IP地址-dbCommonUserId:使用已創(chuàng)建的WPCDB用戶,用于WPS通用數(shù)據(jù)庫(Common DB)-dbCeiUserId:使用已創(chuàng)建的CEIDB用戶,用于公共事件基礎結構(CEI)-dbSysMeUserId:使用已創(chuàng)建的SCASYSMSG用戶,用于服務組件架構(SCA)系統(tǒng)總線上的消息引擎-dbAppMeUserId:使用已創(chuàng)建的SCAAPPMSG用戶,用于服務組件架構上應用

12、總線上的消息引擎-dbCeiMeUserId:使用已創(chuàng)建的CEIMSG用戶,用于公共事件基礎結構總線上的消息引擎-dbBPCMeUserId:使用你哦個已創(chuàng)建的BPCMSG用戶,用于業(yè)務流程編排器總線上的消息引擎2.5  配置公共數(shù)據(jù)庫將公共數(shù)據(jù)庫配置腳本目錄從WPS機器的<Profile_Home>dbscriptsCommonDBOracle<DB_Name>上拷貝到Oracle服務器上。注意,將從Windows上生成的shell腳本拷貝到Linux/Unix上時,有可能需要執(zhí)行dos2unix命令以避免文件格式不識別問題。在Oracle服務器上

13、執(zhí)行此腳本并確保執(zhí)行成功。2.6  配置總線更改每個總線上的數(shù)據(jù)源信息,以使用正確的模式名稱和認證別名。Ø        對于CEI總線:圖2:CEI總線配置確保使用模式名:CEIMSG,認證別名:CEIME_<node_name>.server1_Auth_AliasØ        對于BPC總線:圖3:業(yè)務流程編排器總線配置確保使用模式名:BPCMSG,認證別名:BPCME_&l

14、t;數(shù)字>_Auth_AliasØ        對于SCA Application總線: 圖4:SCA應用總線配置確保使用模式名:SCAAPPMSG,認證別名:SCAAPPME<數(shù)字>_Auth_AliasØ        對于SCA System總線:   圖5:SCA系統(tǒng)總線配置確保使用模式名:SCASYSMSG,認證別名:SCASYSME<數(shù)字&

15、gt;_Auth_Alias2.7  配置CEI將生成的CEI配置腳本從WPS機器<Profile_Home>dbscriptsCEI_<DBName>目錄拷貝到Oracle數(shù)據(jù)庫某處。,有可能需要執(zhí)行dos2unix命令已避免文件格式不識別問題。執(zhí)行命令:cr_event_oracle.sh CEI_DB_User_Password sys <sys_password> sid=<sid> racleHome=<Oracle_HOME>參數(shù)說明:CEI_DB_User_Password:CEIDB用戶的密碼SYS

16、USER:使用sys用戶SYSUSERPWD:sys用戶的密碼Sid=<sid>:Oracle數(shù)據(jù)庫實例名2.8  配置BPC container按照如下步驟配置BPC container:Ø        數(shù)據(jù)源:模式名:BPCDB用戶名:BPCDB服務器:oracle服務器IP地址驅動提供:Oracle10g或11g圖6:BPC container的數(shù)據(jù)源配置Ø        人工

17、任務管理器郵件配置:取消enable e-mail service選項圖7:人工任務管理器郵件配置Ø        安全:本文中沒有使用到安全設置,將其保留為空。若配置了安全,將信息填入。Ø        狀態(tài)觀察器勾選CEI logging for Business Flow Manager圖8:狀態(tài)觀察器Ø        S

18、CA綁定:保留為空Ø        總線:模式名:BPCMSG用戶名:BPCMSG服務器:oracle服務器IP地址提供者:Oracle10g或11g圖9:業(yè)務流程編排器容器的總線配置點擊完成并保存更改。2.9  配置BPC Event CollectorØ        數(shù)據(jù)源:模式名:BPCOBS用戶名:BPCOBSØ     

19、60;  觀察對象選擇server1,若是網絡部署(Network Deployment)環(huán)境,選擇相應的集群名稱。圖10:事件收集者點擊OK完成,保存更改。2.10 配置BPC explorer添加一個新的BPC explorer,勾選“開啟報告功能”圖11:BPC explorer點擊OK完成,保存更改2.11 驗證數(shù)據(jù)源連接在重啟環(huán)境前,我們需保證所有的數(shù)據(jù)源連通正常,如果連通不正常,需修復錯誤,直至所有連接測試通過。重啟WPS server,檢查SystemOut.log文件,確保沒有任何異常信息。至此,單機版的Oracle數(shù)據(jù)庫配置結束。3.&

20、#160;     RAC RAC的集群配置為了支持Oracle RAC環(huán)境,WPS在數(shù)據(jù)源的JDBC URL中引入了多重地址列表功能,使得URL地址如下所示:jdbc:oracle:thin:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=76)(PORT=1521)(ADDRESS=(PROTOCOL=TCP)(HOST=77)(PORT=1521)(FAILOVER=on)(LOAD_BALANCE=on)(CONNECT_DATA=(

21、SERVER=DEDICATED)(SERVICE_NAME=RAS)圖12:Oracle RAC數(shù)據(jù)源URL替換HOST和SERVICE_NAME屬性值以滿足實際環(huán)境。建議讀者拷貝以上字符串以避免輸入錯誤。更改每一個數(shù)據(jù)源的URL信息,保存設置并保證重新測試仍然可以成功。4.      測試用例場景CitiApp簡介CitiApp基于“快速開發(fā),易于更改”為原則,以Web客戶端,SCA模塊和BPEL流程組合而成,用戶通過登陸JSP頁面輸入需要處理的數(shù)據(jù)量,SCA模塊隨機生成對應的數(shù)據(jù),在BPEL流程中對業(yè)務對象進行簡單處理(如,賦值

22、,更改屬性等)再通過JDBC適配器將處理后的業(yè)務對象以記錄的形式插入應用數(shù)據(jù)庫中。由于該流程簡單,部署方便,在用戶指定事件數(shù)連續(xù)不斷發(fā)送業(yè)務請求,適用于進行測試集群環(huán)境下的負載均衡和失敗切換功能。CitiApp主要由以下三部分構成:· Web模塊: RecoverDriverUI用戶登陸http:/<localhost:9080>/RecoveryDriverUI/Driver.jsp輸入所需處理的數(shù)據(jù)量· SCA模塊:AccountRouting,在POJO中通過隨機方法生成業(yè)務對象(Business Object)并為每個Business Object創(chuàng)建處

23、理實例,通過異步調用進入Account Creation流程圖13:AccountRouting · BPEL長流程模塊 在BPEL長流程中對業(yè)務對象進行簡單處理,并通過JDBC適配器插入應用數(shù)據(jù)庫中                               

24、0;                      圖14:AccounCreation的BPEL流程                       

25、60;                 圖15:AccounCreation的調用關系 5.      配置CitiApp場景具體如何配置CitiApp場景的過程超出了本文介紹的范疇??偟膩碚f,包括如下步驟:1)       在oracle中創(chuàng)建用戶rcovflda,并賦予權限2) 

26、60;     部署應用3)       配置數(shù)據(jù)源4)       創(chuàng)建認證別名和數(shù)據(jù)源5)       更改連接工廠屬性6)       更改數(shù)據(jù)源的RAC字符串格式6.      測試流程6.1  驗證正常情況下的流程打開citiApp應用的主頁:http:/<host>:<port>/RecoveryDriverUI/Driver.jsp圖16:CitiApp主頁更改BPEL process/Web service Endpoint URL為實際環(huán)境,點擊運行。在Oracle中檢查用戶rcovflda的Account表,若有一條記

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論