- 安装规划
搭建三个节点的MPP集群。
公共IP地址 | 内网IP | 主机名称 | 实例名 |
192.168.88.120 | 10.10.10.120 | dmmpp1 | mppdb1 |
192.168.88.121 | 10.10.10.121 | dmmpp2 | mppdb2 |
192.168.88.122 | 10.10.10.122 | dmmpp3 | mppdb3 |
- MPP集群安装配置
- 系统配置
安装好Linux操作系统,这里选择的是CentOS 7:
[root@dmdb ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
系统要求:内核要在 2.6 以上
DM数据库安装规划:
系统用户:dmdba
系统组:dinstall
数据库SID:mppdb1,mppdb2,mppdb3
数据库名称:mppdb1,mppdb2,mppdb3
DM_HOME目录:/dm/dmdbms
数据文件路径:/dm/dmdata
数据库监听端口:5236,5269
数据库字符集:UTF-8
数据库用户/密码:sysdba/dameng123
页大小:16K
簇大小:16
日志组:3个256M
安装 gcc 包:
yum install -y gcc
IP地址配置(以节点一为例):
外网IP配置:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.88.120
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=3b8cf714-bc45-437a-ae0d-98aeee288fb3
DEVICE=ens33
ONBOOT=yes
DNS1=8.8.8.8
DNS2=8.8.8.4
内网IP地址配置:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=10.10.10.120
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=84fcecb8-0cd3-48c9-a276-bc245c2569f2
DEVICE=ens34
ONBOOT=yes
提示:确认各个节点的IP地址配置好,并且各个节点的网络是可以相通的。
关闭防火墙和Selinux:
[root@dmmpp1 ~]# systemctl stop firewalld
[root@dmmpp1 ~]# systemctl disable firewalld
[root@dmmpp1 ~]# vi /etc/selinux/config
[root@dmmpp1 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
修改/etc/hosts 文件:
[root@dmmpp1 ~]# cat /etc/hosts
127.0.0.1 localhost
192.168.88.120 dmmpp1
创建DM用户:
[root@dmmpp1 ~]# groupadd dinstall
[root@dmmpp1 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@dmmpp1 ~]# passwd dmdba
Changing password for user dmdba.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@dmdb ~]#
创建DM数据库目录:
存储dm数据库文件的空间需要提前规划并挂载好,我这里放在/dm目录下:
[root@dmmpp1 ~]# mkdir -p /dm/{dmdbms,dmarch,dmbak,dmdata}
[root@dmmpp1 ~]# chown -R dmdba:dinstall /dm/
[root@dmmpp1 ~]# chmod -R 775 /dm/
配置系统限制,在/etc/security/limits.conf 文件中添加如下内容:
cat >> /etc/security/limits.conf << EOF
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft stack 65536
dmdba hard stack 65536
EOF
临时生效:
ulimit -n 65536
验证修改:
[root@dmmpp1 ~]# ulimit -a
配置环境变量:在dmdba用户的~/.bash_profile 里添加如下内容:
export DM_HOME="/dm/dmdbms"
export LD_LIBRARY_PATH="/dm/dmdbms/bin:$LD_LIBRARY_PATH"
export PATH="/dm/dmdbms/bin:$PATH"
source ~/.bash_profile
注意,在DM 软件安装时会自动添加DM_HOME 和 LD_LIBRARY_PATH 变量,这里只需要添加PATH即可。
-
- DM数据库软件安装
将DM的ISO上传到Linux系统,并挂载:
[root@dmmpp1 ~]# mount -o loop /root/dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt
[root@dmmpp1 ~]# su - dmdba
[dmdba@dmmpp1 ~]$ cd /mnt/DMInstall.bin -i #-i表示使方式进行安装
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c #选择中文语言安装
解压安装程序.........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n #如果没有Key文件,可以输入n
否设置时区? (Y/y:是 N/n:否) [Y/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 #输入1(选择典型安装)
所需空间: 1075M
请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms #DM数据库的安装目录,输入前面定义好的目录
可用空间: 13G
是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否) [Y/y]: y #输入y
安装前小结
安装位置: /dm/dmdbms
所需空间: 1075M
可用空间: 13G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否): y #输入y,确认安装
2021-10-11 05:31:32
[INFO] 安装达梦数据库...
2021-10-11 05:31:32
[INFO] 安装 基础 模块...
2021-10-11 05:31:36
[INFO] 安装 服务器 模块...
2021-10-11 05:31:36
[INFO] 安装 客户端 模块...
2021-10-11 05:31:39
[INFO] 安装 驱动 模块...
2021-10-11 05:31:39
[INFO] 安装 手册 模块...
2021-10-11 05:31:39
[INFO] 安装 服务 模块...
2021-10-11 05:31:40
[INFO] 移动ant日志文件。
2021-10-11 05:31:41
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/dm/dmdbms/script/root/root_installer.sh
安装结束
[dmdba@dmmpp1 ~]$
根据提示,使用root用户执行/dm/dmdbms/script/root/root_installer.sh脚本。如下:
[root@dmmpp1 ~]# /dm/dmdbms/script/root/root_installer.sh
移动 /dm/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服务
[root@dmmpp1 ~]#
至此,DM数据库软件安装完成。
确认三台MPP节点主机都安装好数据库软件。
-
- 初始化数据库
提示:三台MPP数据库主机都需要进行数据库初始化操作。
-
-
- 节点一(192.168.88.120)
-
提示:以dmdba用户进行初始化。
cd $DM_HOME/bin
./dminit help #查看帮助
./dminit path=/dm/dmdata db_name=mppdb1 instance_name=mppdb1 port_num=5236 LOG_SIZE=256 SYSDBA_PWD=dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 charset=1
执行输出:
[dmdba@dmmpp1 bin]$ ./dminit path=/dm/dmdata db_name=mppdb1 instance_name=mppdb1 port_num=5236 LOG_SIZE=256 SYSDBA_PWD=dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 charset=1
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-11-13
log file path: /dm/dmdata/mppdb1/mppdb101.log
log file path: /dm/dmdata/mppdb1/mppdb102.log
write to dir [/dm/dmdata/mppdb1].
create dm database success. 2021-10-30 18:54:39
初始完成后,将数据库启动一下,启动完成后,再退出:
dmserver /dm/dmdata/mppdb1/dm.ini
exit
执行输出:
[dmdba@dmmpp1 bin]$ dmserver /dm/dmdata/mppdb1/dm.ini
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-126-20.09.04-126608-ENT startup...
Database mode = 0, oguid = 0
License will expire on 2021-11-13
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2004 purged 1 pages
trx: 2023 purged 1 pages
…
trx: 2490 purged 1 pages
trx: 2497 purged 4 pages
trx: 2526 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY. #看到此信息时,可以执行exit命令退出。
-
-
- 节点二(192.168.88.121)
-
cd $DM_HOME/bin
./dminit path=/dm/dmdata db_name=mppdb2 instance_name=mppdb2 port_num=5236 LOG_SIZE=256 SYSDBA_PWD=dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 charset=1
执行输出:
[dmdba@dbmpp2 ~]$ cd $DM_HOME/bin
[dmdba@dbmpp2 bin]$ ./dminit path=/dm/dmdata db_name=mppdb2 instance_name=mppdb2 port_num=5236 LOG_SIZE=256 SYSDBA_PWD=dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 charset=1
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-11-13
log file path: /dm/dmdata/mppdb2/mppdb201.log
log file path: /dm/dmdata/mppdb2/mppdb202.log
write to dir [/dm/dmdata/mppdb2].
create dm database success. 2021-10-30 18:57:23
初始完成后,将数据库启动一下,启动完成后,再退出:
dmserver /dm/dmdata/mppdb2/dm.ini
exit
执行输出:
[dmdba@dbmpp2 bin]$ dmserver /dm/dmdata/mppdb2/dm.ini
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-126-20.09.04-126608-ENT startup...
Database mode = 0, oguid = 0
License will expire on 2021-11-13
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2004 purged 1 pages
trx: 2023 purged 1 pages
……
trx: 2485 purged 1 pages
trx: 2490 purged 1 pages
trx: 2497 purged 4 pages
trx: 2526 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY. #看到此信息时,可以执行exit命令退出。
-
-
- 节点三(192.168.88.122)
-
cd $DM_HOME/bin
./dminit path=/dm/dmdata db_name=mppdb3 instance_name=mppdb3 port_num=5236 LOG_SIZE=256 SYSDBA_PWD=dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 charset=1
执行输出:
[dmdba@dmmpp3 bin]$ cd $DM_HOME/bin
[dmdba@dmmpp3 bin]$ ./dminit path=/dm/dmdata db_name=mppdb3 instance_name=mppdb3 port_num=5236 LOG_SIZE=256 SYSDBA_PWD=dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 charset=1
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-11-13
log file path: /dm/dmdata/mppdb3/mppdb301.log
log file path: /dm/dmdata/mppdb3/mppdb302.log
write to dir [/dm/dmdata/mppdb3].
create dm database success. 2021-10-30 18:57:55
初始完成后,将数据库启动一下,启动完成后,再退出:
dmserver /dm/dmdata/mppdb3/dm.ini
exit
执行输出:
[dmdba@dmmpp3 bin]$ dmserver /dm/dmdata/mppdb3/dm.ini
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-126-20.09.04-126608-ENT startup...
Database mode = 0, oguid = 0
License will expire on 2021-11-13
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2004 purged 1 pages
trx: 2023 purged 1 pages
trx: 2024 purged 1 pages
……
trx: 2526 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY. #看到此信息时,可以执行exit命令退出。
-
- 注册服务
提示:分别在三台MPP主机上以root用户执行注册服务。
-
-
- 节点一(192.168.88.120)
-
注册服务:
注意:以root用户执行。
进入以下目录
cd $DM_HOME/script/root
然后执行以下命令:
./dm_service_installer.sh -t dmserver -p mppdb1 -dm_ini /dm/dmdata/mppdb1/dm.ini
说明:
-p:指定数据库名称dmdb
-dm_ini:指定配置文件的路径及名称 /dm/dmdata/mppdb1/dm.ini
操作如下:
[root@dmmpp1 ~]# cd /dm/dmdbms/script/root
[root@dmmpp1 root]# ./dm_service_installer.sh -t dmserver -p mppdb1 -dm_ini /dm/dmdata/mppdb1/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicemppdb1.service to /usr/lib/systemd/system/DmServicemppdb1.service.
创建服务(DmServicemppdb1)完成
-
-
- 节点二(192.168.88.121)
-
注意:以root用户执行。
进入以下目录
cd $DM_HOME/script/root
然后执行以下命令:
./dm_service_installer.sh -t dmserver -p mppdb2 -dm_ini /dm/dmdata/mppdb2/dm.ini
操作如下:
[root@dbmpp2 ~]# cd /dm/dmdbms/script/root
[root@dbmpp2 root]# ./dm_service_installer.sh -t dmserver -p mppdb2 -dm_ini /dm/dmdata/mppdb2/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicemppdb2.service to /usr/lib/systemd/system/DmServicemppdb2.service.
创建服务(DmServicemppdb2)完成
[root@dbmpp2 root]#
-
-
- 节点三(192.168.88.122)
-
注意:以root用户执行。
进入以下目录
cd $DM_HOME/script/root
然后执行以下命令:
./dm_service_installer.sh -t dmserver -p mppdb3 -dm_ini /dm/dmdata/mppdb3/dm.ini
操作如下:
[root@dmmpp3 ~]# cd /dm/dmdbms/script/root/
[root@dmmpp3 root]# ./dm_service_installer.sh -t dmserver -p mppdb3 -dm_ini /dm/dmdata/mppdb3/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicemppdb3.service to /usr/lib/systemd/system/DmServicemppdb3.service.
创建服务(DmServicemppdb3)完成
[root@dmmpp3 root]#
-
- 参数配置
提示:三台MPP主机都需要进行相关参数的修改。
-
-
- dm.ini参数文件
- 节点一(192.168.88.120)
- dm.ini参数文件
-
提示:以dmdba用户执行。
文件路径:/dm/dmdata/mppdb1/dm.ini
INSTANCE_NAME = mppdb1 #修改为对应节点的实例名
PORT_NUM = 5236
MAL_INI = 1
MPP_INI = 1
-
-
-
- 节点二(192.168.88.121)
-
-
文件路径:/dm/dmdata/mppdb2/dm.ini
INSTANCE_NAME = mppdb2
PORT_NUM = 5236
MAL_INI = 1
MPP_INI = 1
-
-
-
- 节点三(192.168.88.122)
-
-
文件路径:/dm/dmdata/mppdb3/dm.ini
INSTANCE_NAME = mppdb3
PORT_NUM = 5236
MAL_INI = 1
MPP_INI = 1
-
-
- dmmal.ini参数文件
-
提示:三台MPP主机的dmmal.ini配置文件的内容需要一样。可以在一台主机上配置好后,再复制到另外两台主机上。
-
-
-
- 节点一(192.168.88.120)
-
-
vi /dm/dmdata/mppdb1/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = mppdb1
MAL_HOST = 10.10.10.120
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.120
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = mppdb2
MAL_HOST = 10.10.10.121
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.121
MAL_INST_PORT = 5236
[MAL_INST3]
MAL_INST_NAME = mppdb3
MAL_HOST = 10.10.10.122
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.122
MAL_INST_PORT = 5236
将配置的好的文件远程复制到另外的两台MPP主机:
scp /dm/dmdata/mppdb1/dmmal.ini 192.168.88.121:/dm/dmdata/mppdb2/
scp /dm/dmdata/mppdb1/dmmal.ini 192.168.88.122:/dm/dmdata/mppdb3/
-
-
-
- 节点二(192.168.88.121)
-
-
提示:如果在前面(节点一)已经将该文件远程拷贝到此节点,则不需要再手工在该节点进行配置。
文件路径:/dm/dmdata/mppdb2/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = mppdb1
MAL_HOST = 10.10.10.120
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.120
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = mppdb2
MAL_HOST = 10.10.10.121
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.121
MAL_INST_PORT = 5236
[MAL_INST3]
MAL_INST_NAME = mppdb3
MAL_HOST = 10.10.10.122
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.122
MAL_INST_PORT = 5236
-
-
-
- 节点三(192.168.88.122)
-
-
提示:如果在前面(节点一)已经将该文件远程拷贝到此节点,则不需要再手工在该节点进行配置。
文件路径:/dm/dmdata/mppdb3/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = mppdb1
MAL_HOST = 10.10.10.120
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.120
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = mppdb2
MAL_HOST = 10.10.10.121
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.121
MAL_INST_PORT = 5236
[MAL_INST3]
MAL_INST_NAME = mppdb3
MAL_HOST = 10.10.10.122
MAL_PORT = 5269
MAL_INST_HOST = 192.168.88.122
MAL_INST_PORT = 5236
-
-
- dmmpp.ctl参数文件
-
提示:dmmpp.ctl是一个二进制文件,用户不能手工直接修改配置,需要先配置dmmpp.ini文件,然后使用命令生成dmmpp.ctl文件。
-
-
-
- 节点一(192.168.88.120)
-
-
提示:以dmdba用户执行。
vi /dm/dmdata/mppdb1/dmmpp.ini
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME=mppdb1
[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME=mppdb2
[SERVICE_NAME3]
MPP_SEQ_NO = 2
MPP_INST_NAME=mppdb3
然后使用DM提供的dmctlcvt工具将dmmpp.ini转换成dmmpp.ctl:
dmctlcvt type=2 SRC=/dm/dmdata/mppdb1/dmmpp.ini DEST=/dm/dmdata/mppdb1/dmmpp.ctl
说明:type的值有两个:1和2。
值为1时表示把dmmpp.ctl转换为dmmpp.ini
值为2时表示把dmmpp.ini转换为dmmpp.ctl
执行输出:
[dmdba@dmmpp1 ~]$ dmctlcvt type=2 SRC=/dm/dmdata/mppdb1/dmmpp.ini DEST=/dm/dmdata/mppdb1/dmmpp.ctl
DMCTLCVT V8
convert txt to ctl success!
最后可以将转换后的dmmpp.ctl文件远程复制到另外的两台MPP主机:
scp /dm/dmdata/mppdb1/dmmpp.ctl 192.168.88.121:/dm/dmdata/mppdb2/
scp /dm/dmdata/mppdb1/dmmpp.ctl 192.168.88.122:/dm/dmdata/mppdb3/
-
-
-
- 节点二(192.168.88.121)
-
-
提示:如果在前面(节点一)已经将该文件远程拷贝到此节点,则不需要再手工在该节点进行配置。
文件路径:/dm/dmdata/mppdb2/dmmpp.ini
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME=mppdb1
[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME=mppdb2
[SERVICE_NAME3]
MPP_SEQ_NO = 2
MPP_INST_NAME=mppdb3
然后使用DM提供的dmctlcvt工具将dmmpp.ini转换成dmmpp.ctl:
dmctlcvt type=2 SRC=/dm/dmdata/mppdb2/dmmpp.ini DEST=/dm/dmdata/mppdb2/dmmpp.ctl
-
-
-
- 节点三(192.168.88.122)
-
-
提示:如果在前面(节点一)已经将该文件远程拷贝到此节点,则不需要再手工在该节点进行配置。
文件路径:/dm/dmdata/mppdb1/dmmpp.ini
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME=mppdb1
[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME=mppdb2
[SERVICE_NAME3]
MPP_SEQ_NO = 2
MPP_INST_NAME=mppdb3
然后使用DM提供的dmctlcvt工具将dmmpp.ini转换成dmmpp.ctl:
dmctlcvt type=2 SRC=/dm/dmdata/mppdb3/dmmpp.ini DEST=/dm/dmdata/mppdb3/dmmpp.ctl
-
- 启动MPP集群
到此步,三节点的MPP集群环境就完成了,可以直接启动各个节点的MPP数据库服务,启动或关闭MPP的数据库节点是没有什么顺序的,可以随便先启动或关闭哪个节点的数据库实例都可以。
root用户启动:
systemctl start DmServicemppdb1
systemctl start DmServicemppdb2
systemctl start DmServicemppdb3
dmdba用户启动:
DmServicemppdb1 start
DmServicemppdb2 start
DmServicemppdb3 start
启动操作:
[dmdba@dmmpp1 ~]$ DmServicemppdb1 start #节点一
Starting DmServicemppdb1: [ OK ]
[dmdba@dbmpp2 ~]$ DmServicemppdb2 start #节点二
Starting DmServicemppdb2: [ OK ]
[dmdba@dmmpp3 ~]$ DmServicemppdb3 start #节点三
Starting DmServicemppdb3: [ OK ]