DB2 pureScale 軟體安裝配置及常見問題解決3

如上問題是由於在目標伺服器上已經安裝了 pureScale 軟體,為避免版本差異導致問題,我們需要手工卸載目標伺服器已經安裝的 pureScale 軟體,執行如下命令進行清理:

#/opt/IBM/db2/V9.8/install/db2_deinstall – a


 

 

問題 5:在安裝程序最後配置實例的階段,提示 GPFS 文件系統無法創建

該問題通常由於手工強行卸載 GPFS 文件系統,該 GPFS 文件系統原先使用的共享磁碟沒有正常刪除,導致磁碟上的 GPFS 文件系統標記未清除。我們需要對 hdisk6~hdisk13 用 dd 命令進行清理,如對 hdisk6 的清理命令為:

#dd if=/dev/zero of=/dev/hdisk6 bs=1m count=25


 

 

創建資料庫

在創建 DB2 pureScale 資料庫之前,為性能考慮,我們需要為數據和日誌創建獨立的 GPFS 文件系統,使用獨立的物理磁碟。root 用戶登錄,執行如下命令:

#/opt/IBM/db2/V9.8/bin/db2cluster -cfs -create -filesystem db2data

-disk “/dev/hdisk8,/dev/hdisk9,/dev/hdisk10,/dev/hdisk11,

/dev/hdisk12″ -mount /db2data

 

#/opt/IBM/db2/V9.8/bin/db2cluster -cfs -create -filesystem db2log

-disk “/dev/hdisk13” -mount /db2log


 

 

現在我們就可以創建資料庫了,實例用戶 db2sdin1 登錄系統,執行如下命令:

$db2 “create database HLJRCCB on /db2data dbpath on /db2log

using codeset gbk territory cn”


 

 



DB2 pureScale 典型應用模式配置和優化

Websphere Application Server plus DB2 pureScale

Websphere 應用伺服器結合後台 DB2 資料庫的應用模式在客戶實際生產中廣泛使用,在此,我們就 DB2 pureScale 客戶端自動路由(Automatic Client Reroute, ACR)、工作負載均衡(Workload Balance, WLB)如何配置和使用進行詳細說明。

WLB 和 ACR 支持情況


圖 9. DB2 pureScale WLB 和 ACR 支持矩陣


Setting

Default Behaviour

Non-Java applications

Java applications

Connection-level WLB

Enabled

N/A(不支持)

Transaction-level WLB

Disabled

Disabled

ACR post-connection

Enabled

Enabled

ACR pre-connection

Disabled

Disabled

Client affinities

Disabled

Disabled

 

DB2 pureScale 的工作負載均衡機制分為連接級別(Connection-level WLB)和交易級別(Transaction-level WLB)。連接級別的負載均衡發生在客戶端建立資料庫連接之時,以後不再調整;交易級別的負載均衡發生在交易邊界,根據資料庫成員伺服器的忙閑程度動態進行調整。

從上表看出,對於 Java 應用程序,交易級別的工作負載均衡預設是關閉的,儘管可能有多台 pureScale 成員伺服器也不可能能做到成員伺服器間負載均衡;連接前自動客戶端路由(ACR pre-connection)也是關閉的,導致未曾連接過 pureScale 成員伺服器的客戶端,在其連接屬性中指定 IP 的成員伺服器宕機時,不會自動路由到其他存活成員伺服器。

WLB 和 ACR 配置方法

首先,為了讓 WLB 和 ACR 能夠正常工作,我們需要在 WAS 伺服器的 /etc/hosts 文件中添加 pureScale 成員伺服器的 IP 地址和主機名:

172.16.24.122 p5502

172.16.24.123 p5503


 

 

其次,我們需要使用 DB2 V9.7.2提供的 JDBC 驅動程序,之前版本或 pureScale 伺服器中自帶的 JDBC 驅動程序目前不支持 WLB;

最後,我們需要在 WAS 應用伺服器里進行相關配置如下:


表 3. DB2 pureScale WLB 和 ACR 在 WAS 中的配置

 

DataSource

DriverManager

Conn-Level WLB

不支持

不支持

Trx-Level WLB

增加 DataSource 的屬性:
enableSysplexWLB=true

請參考 WAS 例子 A1

增加 Connection 的屬性:
enableSysplexWLB=true

可以使用屬性或在連接串里配置,請參考下一單元格

ACR
Pre-connection

方法一:增加 DataSource 的屬性

clientRerouteAlternateServerName=172.16.24.123
clientRerouteAlternatePortNumber=50001

請參考 WAS 例子 A2

方法二:生成 jndi,binding 到 DB2,參見 A.3
修改數據源參數 (Data sources > HLJRCCB
> WebSphere Application Server data source properties)
Client reroute server list JNDI name(clientRerouteServerListJNDIName) 指向 A3 所設置的 JNDI

方法一:使用屬性
Properties props = new Properties();
props.put(“user”, “db2sdin1”);
props.put(“password”, “db2”);
props.put(“enableSysplexWLB”, “true”);
props.put(“clientRerouteAlternateServerName”, “172.16.24.123”);
props.put(“clientRerouteAlternatePortNumber “, “50001”);
Connection c = DriverManager.getConnection(“jdbc:db2://172.16.24.122:50001/mydb”, props );
方法二:在連接串里增加屬性
conn = java.sql.DriverManager
.getConnection(“jdbc:db2://172.16.24.122:50001/HLJRCCB:user=db2sdin1;password=db2;
enableSysplexWLB=true;clientRerouteAlternatePortNumber=50001;
clientRerouteAlternateServerName=172.16.24.123;”);

注意:該方式不支持多於 2 個節點

ACR
Post-connection

默認 enable,無參數配置。
發生 ACR 時系統會報錯誤信息,錯誤信息參考 A4

默認 enable,無參數配置。
發生 ACR 時系統會報錯誤信息,錯誤信息參考 A4

 

A1. 在 WAS 中配置 Trx-Level WLB

在”Data sources > DBNAME > Customer properties“增加 enableSysplexWLB 屬性:

圖 10. WAS 配置交易級別工作負載均衡

圖 10. WAS 配置交易級別工作負載均衡

A2. 在 WAS 中配置 Pre-Conn ACR

修改數據源參數 (Data sources > DBNAME > WebSphere Application Server data source properties)

圖 11. WAS 配置連接前客戶端自動路由

A3. DB2ClientRerouteServerList Binding

編寫一個 jsp 程序,包含如下代碼,執行後將綁定相關信息:

清單 1. WAS 中註冊 DB2 purescale 自動客戶端路由綁定

            

InitialContext registry = new InitialContext();

// Create a DB2ClientRerouteServerList object

DB2ClientRerouteServerList address =

    newDB2ClientRerouteServerList();

 

// Set the port number and server name for the primary server

address.setPrimaryPortNumber(50001);

address.setPrimaryServerName(“172.16.24.122”);

 

// Set the port number and server name for the alternate server

 

int[] port = {50001};

String[] server = {“172.16.24.123”};

address.setAlternatePortNumber(port);

address.setAlternateServerName(server);

 

registry.rebind(“cell/persistent/serverList”, address);


 

 

A4. Post-Conn ACR message:

com.ibm.db2.jcc.am.ClientRerouteException: [jcc][t4][2027][11212][4.9.66]

A connection failed but has been re-established. The host name or IP address

is “p5503” and the service name or port number is 50,001.

Special registers may or may not be re-attempted (Reason code = 1).

ERRORCODE=-4498, SQLSTATE=08506


 

 

多線程 DB2 CLI 程序 plus pureScale

多線程 DB2 CLI 程序訪問 pureScale 資料庫,如果要實現 ACR 和 WLB 功能,

首先,我們需要在 DB2 CLI 客戶端的 /etc/hosts 中添加如下條目:

172.16.24.122 p5502

172.16.24.123 p5503


 

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營