搭建两节点mpp
先安装达梦数据库软件
- 创建用户及组
[root@mppa tmp]# groupadd dinstall && useradd -g dinstall dmdba && echo root|passwd --stdin dmdba
更改用户 dmdba 的密码 。
passwd:所有的身份验证令牌已经成功更新。
- 挂载安装程序
[root@mppb tmp]# mount -o loop dm8_20211112_x86_rh6_64_ent_8.1.2.94.iso /mnt
mount: /dev/loop0 写保护,将以只读方式挂载
- 关闭防火墙,selinux
[root@mppb tmp]# systemctl stop firewalld && systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@mppb tmp]# setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- 创建软件目录,授权
[root@mppa tmp]# mkdir -p /opt/dmdbms && chown dmdba:dinstall /opt/dmdbms
- 设置用户资源限制 vi /etc/security/limits.conf
dmdba hard nofile 131072
dmdba soft nofile 131072
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 131072
dmdba hard nproc 131072
dmdba soft data unlimited
dmdba hard data unlimited
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft memlock unlimited
dmdba hard memlock unlimited
- 命令行安装数据库软件
[dmdba@mppa mnt]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:c
解压安装程序.........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1486M
请选择安装目录 [/home/dmdba/dmdbms]:/opt/dmdbms
输入路径不合法,请重新输入。
没有写入权限!
请选择安装目录 [/home/dmdba/dmdbms]:/opt/dmdbms
可用空间: 13G
是否确认安装路径(/opt/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /opt/dmdbms
所需空间: 1486M
可用空间: 13G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2022-07-25 15:51:17
[INFO] 安装达梦数据库...
2022-07-25 15:51:17
[INFO] 安装 基础 模块...
2022-07-25 15:51:57
[INFO] 安装 服务器 模块...
2022-07-25 15:52:16
[INFO] 安装 客户端 模块...
2022-07-25 15:54:00
[INFO] 安装 驱动 模块...
2022-07-25 15:55:04
[INFO] 安装 手册 模块...
2022-07-25 15:55:07
[INFO] 安装 服务 模块...
2022-07-25 15:55:09
[INFO] 移动日志文件。
2022-07-25 15:55:10
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/opt/dmdbms/script/root/root_installer.sh
安装结束
- 创建DMAP服务,使用root运行root_installer.sh脚本
[root@mppa tmp]# /opt/dmdbms/script/root/root_installer.sh
移动 /opt/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
- MPP系统规划
实例名 | Mal_inst_host | Mal_inst_port | Mal_host | Mal_port | Mpp_seqno |
Czw01 | 192.168.218.200 | 5236 | 192.168.1.1 | 6000 | 0 |
Czw02 | 192.168.218.201 | 5237 | 192.168.1.2 | 6001 | 1 |
- 创建数据目录,归档目录
[root@mppa tmp]# mkdir /dmarch /dmdata && chown dmdba:dinstall /dmarch /dmdata
- 两个节点分别初始化数据库,以下参数必须一致
初始化参数
BLANK_PAD_MODE
LENGTH_IN_CHAR
USE_NEW_HASH
dm.ini参数
COMPRESS_MODE
PARALLEL_POLICY
LIST_TABLE
COMPATIBLE_MODE
COUNT_64BIT
ALTER_TABLE_OPT
JSON_NAME
- 初始化第一个库,端口5236
[dmdba@mppa bin]$ ./dminit path=/dmdata/ db_name=czw instance_name=czw01 port_num=5236
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-11-11
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/czw/czw01.log
log file path: /dmdata/czw/czw02.log
write to dir [/dmdata/czw].
create dm database success. 2022-07-25 16:43:24
- 初始化实例2,端口5237
[dmdba@mppb bin]$ ./dminit path=/dmdata/ db_name=czw instance_name=czw02 port_num=5237
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-11-11
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/czw/czw01.log
log file path: /dmdata/czw/czw02.log
write to dir [/dmdata/czw].
create dm database success. 2022-07-25 16:45:02
- 配置实例1 的dm.ini
instance_name=czw01
port_num=5236
mal_ini=1
mpp_ini=1
- 配置实例2的 dm.ini
instance_name=czw02
port_num=5237
mal_ini=1
mpp_ini=1
- 配置dmmal.ini,各节点配置完全一致
[dmdba@mppa bin]$ more /dmdata/czw/dmmal.ini
[MAL_INST1]
MAL_INST_NAME=CZW01
MAL_HOST=192.168.1.1
MAL_PORT=6000
MAL_INST_HOST=192.168.218.200
MAL_INST_PORT=5236
[MAL_INST2]
MAL_INST_NAME=CZW02
MAL_HOST=192.168.1.2
MAL_PORT=6001
MAL_INST_HOST=192.168.218.201
MAL_INST_PORT=5237
- 拷贝dmmal.ini到节点2
[dmdba@mppa bin]$ scp /dmdata/czw/dmmal.ini 192.168.218.201:/dmdata/czw/
The authenticity of host '192.168.218.201 (192.168.218.201)' can't be established.
ECDSA key fingerprint is SHA256:At+2Npbzk1Ju/ZaWWRHMYhEMHBcyR7WxWNTg2zYbJKE.
ECDSA key fingerprint is MD5:c5:36:97:c1:ce:bf:1f:b6:9d:74:da:a1:cf:de:ea:0f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.218.201' (ECDSA) to the list of known hosts.
dmdba@192.168.218.201's password:
dmmal.ini 100% 232 53.6KB/s 00:00
- 配置dmmpp.ctl
先配置dmmpp.ini
[dmdba@mppa bin]$ more /dmdata/czw/dmmpp.ini
[SERVICE_NAME1]
MPP_SEQ_NO=0
MPP_INST_NAME=CZW01
[SERVICE_NAME2]
MPP_SEQ_NO=1
MPP_INST_NAME=CZW02
- 将dmmpp.ini转换成dmmpp.ctl
[dmdba@mppa bin]$ ./dmctlcvt type=2 src=/dmdata/czw/dmmpp.ini dest=/dmdata/czw/dmmpp.ctl
DMCTLCVT V8
convert txt to ctl success!
- 拷贝dmmpp.ctl到其他节点
[dmdba@mppa bin]$ scp /dmdata/czw/dmmpp.ctl 192.168.218.201:/dmdata/czw/
dmdba@192.168.218.201's password:
dmmpp.ctl 100% 41KB 3.6MB/s 00:00
- 启动节点1
[root@mppa tmp]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/czw/dm.ini -p czw01
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceczw01.service to /usr/lib/systemd/system/DmServiceczw01.service.
创建服务(DmServiceczw01)完成
[root@mppa tmp]# systemctl start DmServiceczw01
- 启动节点2
[root@mppb tmp]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/czw/dm.ini -p czw02
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceczw02.service to /usr/lib/systemd/system/DmServiceczw02.service.
创建服务(DmServiceczw02)完成
[root@mppb tmp]# systemctl start DmServiceczw02
- 测试,写入数据
CREATE TABLE T_HASH(C1 INT, C2 CHAR(10))DISTRIBUTED BY HASH (C1);
INSERT INTO T_HASH SELECT ROWNUM ,'A' FROM DUAL CONNECT BY ROWNUM < 101;
commit;
- 两个节点都能查到相同的数据,验证成功