程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 Everyplace 集群環境的搭建和應用

DB2 Everyplace 集群環境的搭建和應用

編輯:DB2教程

DB2 Everyplace 在集群環境下運行能夠提升整體工作效率,增加用戶吞吐量,提高服務的穩定性。本文首先介紹 DB2 Everyplace 在集群環境中的組織結構,然後描述如何在集群環境中來安裝、配置以及使用 DB2 Everyplace,並且使用測試數據來說明集群環境對系統性能的影響,最後提出了對現有集群環境進行進一步擴展的可能性和方法。

引言

DB2® Everyplace®是 IBM On Demand Business 解決方案的組成部分,它用於在移動設備與企業數據庫服務器之間使數據同步。隨著移動設備日益廣泛的應用,企業對於同步服務器同時服務更多移動設備的要求越來越高,單一服務器由於機器性能的限制,難以滿足日益壯大的客戶群的性能需求。使用 DB2 Everyplace 集群環境,通過集群服務來提升整體工作任務的分配效率,一個集群相當於多個獨立的應用程序服務器的集合,它可以保持工作負載的均衡性和高效性,提高系統吞吐量。

DB2 Everyplace 集群結構


圖 1. DB2 Everyplace 集群結構
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

在非集群 DB2 Everyplace 環境中,客戶端的請求被統一送往單一的 Websphere 服務器,通過該服務器和後台數據庫的連接通信,將後台數據傳遞給客戶端,來達到數據同步的目的。在集群環境中,客戶的請求和數據傳遞就不再由單一固定的 Websphere 服務器進行處理,具體的執行流程如圖 1 所示。

首先,客戶端的同步請求被傳遞給 HTTP Web Server。

HTTP Web Server 收到這個請求以後,服務器上的應用程序服務器插件將這個請求分派給可用的 Websphere 服務器。

選中的 Websphere 服務器根據具體請求,通過同步服務器從源數據庫或者鏡像數據庫中讀取數據,並將數據傳遞給 HTTP Web Server。

HTTP Web Server 將所得數據傳遞給客戶端,完成此次請求。

在整個過程中,Webshpere 部署管理器可通過 Network Deployment 來對集群成員進行管理,比如添加和刪除集群成員,對現有集群成員進行啟動和停止等等。

DB2 Everyplace 集群環境的安裝和配置

本節以兩個集群成員為例,演示如何在 Windows 操作系統上搭建 DB2 Everyplace 環境。

環境構成

1. 一台安裝有部署管理器的機器,命名為 db2eClusterND,其上安裝:

DB2 UDB Enterprise Edition V9

DB2 Everyplace V9.1

Websphere Application Server V6.0 ND,並且創建 Network Deployment profile,默認為 Dmg01

HTTP Web Server,創建 plugin,並生成 webserver1 服務

2. 兩台集群成員所在機器,分別命名為 CNode1 和 CNode2。其上安裝:

DB2 客戶端

DB2 Everyplace V9.1

Websphere Application Server V6.0 base,並且創建 default profile

3. 一台 DB2 數據服務器,在其上安裝 DB2 UDB Enterprise Edition V9,創建源數據庫和鏡像數據庫。

在這裡,db2eClusterND,CNode1 和 CNode2 上都需要安裝相同版本的 DB2 Everyplace,Websphere Application Server 以及 HTTP Web Server。

配置步驟

1. 首先對部屬管理器所在機器進行 DB2 Everyplace 集群配置。打開 DB2 Everyplace 配置向導,選擇配置選項,在配置類型選擇的時候,需要選擇 Clustered Configuration 方式,具體如圖 2 所示。


圖 2. DB2 Everyplace 配置(配置類型選擇)
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

2. 下一步是選擇數據庫配置類型。在部署管理器所在機器上,需要創建 DB2 Everyplace 的管理數據庫,所以,在數據庫配置的頁面中,選擇創建數據庫的選項,如圖 3 所示。


圖 3. DB2 Everyplace 配置(數據庫配置)
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

3. 部署管理器所在機器上的 DB2 Everyplace 配制成功後,在集群節點所在機器上繼續 DB2 Everyplace 的集群配置。和部署管理器所在機器不同的是,在集群成員所在機器上不需要創建管理數據庫,在圖 3 所示的對話框中選擇 No,並在接下來的頁面中輸入部署管理器所在機器上創建的管理數據庫信息。

4. 以上步驟完成後,在部署管理器所在機器上,轉入 <was_root>/bin 目錄,運行下面的命令啟動 Websphere 部署管理器:

startServer.bat server1 –username <admin_user_id> -password <admin_passWord> 

如果部署管理器設置了管理用戶和密碼,需要將用戶和密碼作為參數傳入。部署管理器啟動後,可以從 IE 中察看http://<deployment_manager_host>:9060/ibm/console地址,輸入管理用戶名和密碼以後,可以看到 Websphere 的管理控制台。

5. 在 Cnode1 機器上,打開命令控制窗口,轉到 <was_root>/bin 目錄下,執行以下命令將 Cnode1 加入部署管理器中:

addNode.bat <deployment_manager_host> <deployment_manager_port> 
 -username <admin_user_id> -password <admin_passWord> 

其中:

<deployment_manager_host> 是部署管理器所在機器的主機名;

<deployment_manager_port> 是部署管理器 SOAP 節點的連接地址,默認值為 8879;

如果 Websphere 管理器設置了管理用戶名和密碼,那麼需要將用戶名和密碼作為 username 和 passWord 這兩個參數進行輸入。

需要注意的是,集群成員所在機器和部署管理器所在機器的時間需要保持一致,時差不能超過五分鐘,否則添加節點會失敗。

添加完 CNode1 節點後,用同樣的方法添加 CNode2 節點。添加成功後,在 Websphere 管理器中點擊 System administration->Nodes,可以看到如圖 4 的狀態。


圖 4. 節點狀態
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

6. 轉到 <wasroot>/bin 目錄下,使用下面的命令配置 HTTP Web Server:

 <wasroot>/../Plugins/bin/configurewebserver1.bat 

配置完成後,啟動 apache 程序,這時察看 Websphere 管理控制台,點擊 Servers->Web servers,可以看到如圖 5 的狀態。


圖 5. HTTP Web Server 運行狀態
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

7. 首先確認 HTTP Web Server,Deployment Manager 及其管理的節點都已啟動。在 CNode1 機器上,轉到 <DSYPATH>\config\work\was 目錄下,執行下面的命令來創建第一個應用服務器:

<WAS_HOME>\bin\wsadmin.bat -profileName profile_name -f dsyInstallDB2eWAS6.jacl 
DSYINSTDIR DSYSQLIBINSTDIR WAS_virtual_host WAS_node_name WAS_cell_name 
IP_address server_name application_name context_root WebServer_name [user] [group] 

各個參數的具體含義如下:

profile_name:部署管理器的 profile 名稱,默認情況下是 Dmgr01;

DSYINSTDIR:DB2 Everyplace 實例的安裝路徑;

DSYSQLBINSTDIR: DB2 實例的安裝路徑;

WAS_virtual_host:部署管理器的虛擬主機名,默認情況下是 default_host;

WAS_node_name:CNode1 在部署管理器上的顯示的節點名稱,此處為 CNODE1Node01;

WAS_cell_name:CNode1 在部署管理器上的顯示的單元名稱,此處為 cndnodeCell01

IP_addree:CNode1 機器的 IP 地址

Server_name:該應用服務器在部署管理器中顯示的名稱,比如 ClusterNode1

Application_name:該應用在部署管理器中顯示的名稱,比如 DB2Everyplace9.1;

Context_root: DB2 Everyplace 的 context root,此處設置為 db2e;

WebSever_name: HTTP Web Server 的名稱,此處為 webserver1;

在 Windows 系統上,使用默認設置的具體實例為:

C:\Progra~1\IBM\DB2Everyplace91\config\work\was>C:\Progra~1\IBM\WebSphere\APPServer 
\bin\wsadmin.bat -profileName Dmgr01 -f dsyInstallDB2eWAS6.jacl c:\Progra~1\IBM\ 
DB2Everyplace91 c:\Progra~1\IBM\SQLLIB default_host CNODE1Node01 
cndnodeCell01 9.186.66.167 DB2eCluster1 DB2Everyplace9.1.1 db2e webserver1 

8. 成功創建後,打開 Websphere 管理控制台,點擊 Servers->Clusters。在 Server Cluster 頁面點擊 New 按鈕來創建集群,出現的對話框如圖 6 所示。


圖 6. 創建新集群
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

在這裡,設置新集群的名稱,比如 DB2eCluster,並且將在第五步成功創建的 DB2eCluster1 加入這個集群中。

9. 點擊下一步,如圖 7 所示,可以在成員中看到第 6 步所加入的 DB2eCluster1 成員。進一步添加 CNode2,將此集群成員命名為 DB2eCluster2,點擊 Apply 按鈕。第二個節點成員就成功加入了 DB2eCluster 的集群環境。成功以後的狀態如圖 8 所示。


圖 7. 添加集群成員
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

圖 8. 添加集群成員後的狀態
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

10. 在集群成員添加成功後,點擊下一步,出現如圖 9 所示的對話框,顯示了對集群配置的概括信息,檢查無誤後,點擊 Finish。並且保存修改,和服務器完成同步操作。到此為止,集群的配置就完成了。


圖 9. 集群配置概括信息
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

11.  在 Websphere 管理控制台中,回到 Server Cluster 頁面,可以看到剛才創建的 DB2eCluster 集群已經建立起來了。選擇該集群,點擊 Start 按鈕,一段時間後,可以看到該集群顯示為啟動狀態。


圖 10. 集群啟動狀態
DB2 Everyplace 集群環境的搭建和應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

點擊 Servers->Cluster topology,可以查看集群的拓撲結構,如圖 11 所示。


圖 11. 集群拓撲結構
DB2 Everyplace 集群環境的搭建和應用

打開 IE,輸入http://<deployment_host>:80/db2e/db2erdb鏈接,可以看到圖 12 所示的狀態,表示 DB2 Everyplace 集群服務已經啟動了。在單一服務器的環境下,DB2 Everyplace 的端口默認為 8080,在集群環境下,其默認端口為 80。


圖 12. 啟動狀態
DB2 Everyplace 集群環境的搭建和應用

DB2 Everyplace 集群環境的使用

為了使得集群環境的配置生效,在創建完 subscription 後,需要進行如下操作:

JDBC Subscription 和 Upload Subscription
使用集群成員機器上的 DB2 ClIEnt 對數據庫服務器上的源數據庫和鏡像數據庫進行 catalog。

File Subscription
創建好 file subscription 後,將需要同步的文件拷貝到所有集群成員機器上的相同位置。

這樣,在多用戶同時進行同步操作時,可以在所有集群成員的同步服務器日志中看到同步信息,表明所有節點都在分擔工作負載。

DB2 Everyplace 集群環境對性能的影響

DB2 Everyplace 的集群環境,通過對 Websphere 服務器的擴展,使得同步服務器能夠在同一時間接受更多的用戶請求,實際測試表明,在並發用戶數量大的情況下,相對於單一服務器,兩個集群節點的集群環境所能支持的用戶數是單一服務器環境支持用戶數的將近一倍。

DB2 Everyplace 集群環境的拓展

通過對 Websphere 服務器的擴展,DB2 Everyplace 可以在同一時間接受更多的用戶請求。但是,如果同步的數量量巨大,對於單一的信息數據庫和鏡像數據庫都是很大的挑戰。如果這裡出現瓶頸,可以通過對信息數據庫以及鏡像數據庫搭建 DB2 Cluster 環境來進行優化。

DB2 集群環境的搭建,可以參考相關文檔,這裡不再贅述。

結束語

DB2 Everyplace 是一個被設計為能夠容納大量用戶和數據量的系統,通過使用集群環境,DB2 Everyplace 可以滿足越來越龐大的用戶數和數據量的需要。本文的主要目的是闡述 DB2 Everyplace 集群環境的安裝和配置,來更好的幫助用戶了解和使用 DB2 Everyplace 集群環境。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved