DM8 MPP集群搭建步骤
主机名 | 服务ip | 心跳ip | 数据库名 | 实例名 |
Dmdb01 | 192.168.160.129 | 192.168.160.129 | DAMENG1 | dmmpp1 |
Dmdb02 | 192.168.160.128 | 192.168.160.128 | DAMENG1 | dmmpp2 |
-
- 端口规划
搭建 2 节点大规模并行集群,端口规划如下:
本地的虚拟机5236端口端口被其他实例占用
实例名 | 实例端口 | MAL 系统监听 TCP 连接的端口 |
dmmpp1 | 6236 | 7236 |
dmmpp2 | 6236 | 7236 |
-
- 软件安装和数据存储目录设置
数据库软件安装目录 | /usr/dm/dmdbms |
实例安装目录 | /usr/dm/dmData/DAMENG1 |
归档日志存放目录 | /usr/dm/dmData/DAMENG1/arch |
全量备份文件存放目录 | /usr/dm/dmData/DAMENG1/bak |
增量备份 | /usr/dm/dmData/DAMENG1/inc |
因为用的是本地环境,os参数已设置过,所以不在重新设置参数
注意使用Root用户
- cd /usr/dm/dmdbms/bin
库1 :
./dminit path=/usr/dm/dmData DB_NAME=DAMENG1 INSTANCE_NAME=dmmpp1 PORT_NUM=6236
库2 :
./dminit path=/usr/dm/dmData DB_NAME=DAMENG1 INSTANCE_NAME=dmmpp2 PORT_NUM=6236
Root 用户:
主备同时执行:
./dm_service_installer.sh -t dmserver -dm_ini /usr/dm/dmData/DAMENG1/dm.ini -p DBSERVERmpp
注册结果:
- 启动实例
使用dmdba用户启动
库1:
cd /usr/dm/dmdbms/bin/;
[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp start
Starting DmServiceDBSERVERmpp: [ OK ]
启动后查询端口状态:
库2 :
[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp start
Starting DmServiceDBSERVERmpp: [ OK ]
[dmdba@localhost bin]$
- 归档设置
- 使用语句
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/usr/dm/dmData/DAMENG/arch,TYPE=LOCAL,FILE_SIZE=1024,SPACE_LIMIT=102400';
ALTER DATABASE OPEN;
-
- 设置结果截图
-
- 查询设置结果
--查看归档是否打开
select arch_mode from v$database;
--查看归档日志信息
select arch_name,arch_type,arch_dest from v$dm_arch_ini;
库1
库2
- 备份设置
- 全量备份设置
- 增量备份
- 全量备份设置
-
- 备份清理
- 相关配置修改和新增
- dm.ini
主备这2个参数都设置为1;
-
- dmmal.ini
在实例目录下新建文件 dmmal.ini
/usr/dm/dmData/DAMENG1dmmal.ini
将以下内容加到文件中
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = dmmpp1 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.160.129 #MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 7236 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.160.129 #实例的对外服务 IP 地址
MAL_INST_PORT = 6236 #与 dm.ini 中的 PORT_NUM 一致
[MAL_INST2]
MAL_INST_NAME = dmmpp2 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.160.128 # MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 7236 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.160.128 #实例的对外服务 IP 地址
MAL_INST_PORT = 6236 #与 dm.ini 中的 PORT_NUM 一致
-
- dmmpp.ini
7.3在其中一个节点新建 dmmpp.ini 配置文件
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME = dmmpp1
[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME = dmmpp2
使用 dmctlcvt 工具将 dmmpp.ini 文件转化为 dmmpp.ctl,在数据库安装的 bin 目录下执行以下命令:
./dmctlcvt TYPE=2 SRC=/dmdata/data/dmmpp/dmmpp.ini DEST=/dmdata/data/dmmpp/dmmpp.ctl |
将生成的 dmmpp.ctl 控制文件复制到另一个节点的实例目录下。
执行结果如下:
- 重启集群
正常启动实例即可,在数据库安装的 bin 目录下执行以下命令:
cd /usr/dm/dmdbms/bin;
停
[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp stop
Stopping DmServiceDBSERVERmpp: [ OK ]
启
[dmdba@localhost bin]$ ./DmServiceDBSERVERmpp start
Starting DmServiceDBSERVERmpp: [ OK ]
select instance_name from v$instance ;
- 客户端连接集群
- dm_svc.conf配置追加
在库1 和库2 主机
[dmdba@localhost etc]$ vi /etc/dm_svc.conf
新增以下:
TIME_ZONE=(480)
LANGUAGE=(cn)
DMMPP=(192.168.160.128:6236,192.168.160.129:6236)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
# 服务配置区
[DMMPP]
LOGIN_MODE=(0)
SWITCH_TIME=(3) #在服务器之间切换的次数
SWITCH_INTERVAL=(10) #在服务器之间切换的时间间隔,单位为毫秒
新增完成后重启数库
- 测试
- 查询集群节点信息
[dmdba@localhost bin]$ disql SYSDBA/SYSDBA@DMMPP
服务器[192.168.160.128:6236]:处于普通打开状态
登录使用时间 : 1323.953(ms)
disql V8
SQL> select instance_name from v$instance ;
行号 INSTANCE_NAME
---------- -------------
1 DMMPP2
2 DMMPP1
已用时间: 95.821(毫秒). 执行号:658719.
SQL>
-
- 在其中一个库上面建表并测试
create table zlz
(
"ID" INT not null
)
insert into zlz (id) values (10);
insert into zlz (id) values (11);
分别在2个库上面查询:
库1查询结果
库2查询结果