1. 说明
在本人的blog中已经介绍了IQ 15.2版本的集群搭建示例,在这里将向大家介绍IQ 15.3集群和DQP(分布式查询处理)的搭建方法。
IQ 15.3 Multiplex的一个重要增强是支持Shared MPP架构,同过它可以支持DQP(分布式查询处理),这可以使一个查询被分解为多个片段,集群中的不同节点可以运行不同的查询片段,查询结果最后进行合并然后返回给客户端。
IQ 15.3集群搭建方法与IQ 15.2基本相同,下文中不同的地方我会加以特别说明(用蓝色字体表示)。
2. 环境要求
IQ 15.3 Multiplex支持的操作系统包括:IBM AIX、HP-IA、Linux、Sun Solaris和windows等平台。具体的版本和补丁要求这里就不说了,参见sybase官方网站或者本人的博文"IQ 15 官方资源汇集(2)"
这个例子是两个运行Red Hat Linux的虚拟机构成的集群(虚拟机建立共享虚拟盘),IQ采用的是15.3企业版。
IQ 15.3集群除具有两个集群之间的通讯机制:一个是INC(用于传递节点心跳信息和全局事物协调管理的信息),另一个是MIPC(用于DQP处理)。INC使用公有网络(public netework);MIPC可以与INC共用网络,也可以使用单独的私有网络(private network)。由于进行DQP处理时需要交换的信息相对较多、较大,建议MIPC使用单独的私有网络。
两个节点的环境如下:
(1) node1和node2两个节点分别具有两个虚拟网卡,地址如下:
node1: 192.168.2.191 #public ip
node1_priv 172.16.1.101 #private ip
node2: 192.168.2.193 #public ip
node2_priv 172.16.1.103 #private ip
(2) node1和node2两个节点上要安装好IQ 15.3企业版软件,node1作为协调节点。
(3) 用于IQ_SYSTEM_MAIN Store的共享设备:
/dev/sdc1 2G, 映射为/dev/raw/raw21
(4) 在本示例中,IQ_SYSTEM_TEMP Store使用本地文件作为存储,不使用裸设备
(5) 用于IQ_SHARED_TEMP Store的裸设备的共享设备(IQ 15.3新增的,用于DQP处理):
/dev/sdd1 4G, 映射为/dev/raw/raw31
(6) 用于存放用户数据的user main dbspace的共享设备:
/dev/sdd3 2G, 映射为/dev/raw/raw41
注意:IQ Multiplex安装前对于存储的规划是最重要的一项准备工作,IQ_SYSTEM_MAIN、IQ_SHARED_TEMP和user main 等dbsapce中的设备必须是各节点可以读写的裸设备,并且裸设备的设备名要完全相同。IQ Temp Store中的设备是节点自己本地存储上的裸设备或文件系统中的文件。
2. 创建Simplex IQ Server
IQ 15.3 Mulitplex创建比较有意思,首先要创建一个单IQ Server(又叫做Simplex),然后把它转换为Multiplex,再往其中增加其它节点。
创建Simplex IQ Server的步骤:
(1) 创建符号链接
A.在node1和node2上用root用户分别执行(假设IQ Catalog DB在/sybiq/mp2目录下):
ln -s /dev/raw/raw21 MP2_SYS_MAIN_FILE01.iq
ln -s /dev/raw/raw31 MP2_SHARED_TEMP_FILE01.iq
ln -s /dev/raw/raw41 MP2_USER_MAIN_FILE01.iq
B.在node1上用root用户执行
chmod 777 /dev/rawctl #这一步是为sybiq用户授权以便能存储设备。
C.在node2上用root用户执行
chmod 777 /dev/rawctl #这一步是为sybiq用户授权以便能存储设备
(2) 在node1上启动iq utility server创建数据库
start_iq -n utility_srv
(3) 编写创建数据的脚本createdb.sql
CREATE DATABASE '/sybiqdb/mp2/mp2.db'
LOG ON 'mp2.log'
CASE RESPECT
ACCENT IGNORE
PAGE SIZE 4096
COLLATION '936ZHO'
BLANK PADDING ON
JCONNECT ON
IQ PATH '/sybiqdb/mp2/MP2_SYS_MAIN_FILE01.iq' --IQ_SYSTEM_MAIN
TEMPORARY PATH '/sybiqdb/mp2/MP2_SYS_TEMP_FILE01.iqtmp' --使用文件方式。
TEMPORARY SIZE 2048 --使用文件方式必须指定尺寸。
MESSAGE PATH 'mp2.iqmsg'
IQ PAGE SIZE 131072;
(4) 执行createdb.sql脚本,创建mp2数据库
dbisql -c "uid=DBA;pwd=sql;dbn=utility_db;eng=utility_srv" -nogui createdb.sql
(5) 编辑params.cfg参数文件
-cl 128m
-ch 256m
-gc 20
-gd dba
-gk dba
-gl all
-gm 20
-ti 4400
-tl 300
-iqmc 256
-iqtc 256
-iqmsgsz 64
-iqmsgnum 4
(6)启动创建好的mp2库
以sybiq用户登录操作系统,然后执行:
cd /sybiqdb/mp2
start_iq @params.cfg -n mp2node_c -x "tcpip{host=node1;port=4888}" mp2.db
阅读(3910) | 评论(0) | 转发(0) |