如上问题是由于在目标服务器上已经安装了 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”
|
Websphere Application Server plus DB2 pureScale
Websphere 应用服务器结合后台 DB2 数据库的应用模式在客户实际生产中广泛使用,在此,我们就 DB2 pureScale 客户端自动路由(Automatic Client Reroute, ACR)、工作负载均衡(Workload Balance, WLB)如何配置和使用进行详细说明。
WLB 和 ACR 支持情况
图 9. DB2 pureScale WLB 和 ACR 支持矩阵
|
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 的属性: 请参考 WAS 例子 A1 |
增加 Connection 的属性: 可以使用属性或在连接串里配置,请参考下一单元格 |
ACR |
方法一:增加 DataSource 的属性 clientRerouteAlternateServerName=172.16.24.123 请参考 WAS 例子 A2 方法二:生成 jndi,binding 到 DB2,参见 A.3 |
方法一:使用属性 注意:该方式不支持多于 2 个节点 |
ACR |
默认 enable,无参数配置。 |
默认 enable,无参数配置。 |
A1. 在 WAS 中配置 Trx-Level WLB
在”Data sources > DBNAME > Customer properties“增加 enableSysplexWLB 属性:
A2. 在 WAS 中配置 Pre-Conn ACR
修改数据源参数 (Data sources > DBNAME > WebSphere Application Server data source properties)
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 程序访问 pureScale 数据库,如果要实现 ACR 和 WLB 功能,
首先,我们需要在 DB2 CLI 客户端的 /etc/hosts 中添加如下条目:
172.16.24.122 p5502 172.16.24.123 p5503
|
以下文章点击率最高
Loading…