达梦安装部署MPP

环境:
OS:Centos 7
DB:DM8

节点1:192.168.1.134 instance_name:slnngk01
节点2:192.168.1.135 instance_name:slnngk02

 

说明:
数据库软件安装、用户和用户组以及系统内核参数配置这里省略,可以参考单机的部署

 

1.初始化数据库

##节点1:192.168.1.134
su - dmdba
dminit path=/dmdbms/data charset=1 db_name=slnngk instance_name=slnngk01 SYSDBA_PWD="dameng123" SYSAUDITOR_PWD="dameng123"

##节点2:192.168.1.135
su - dmdba
dminit path=/dmdbms/data charset=1 db_name=slnngk instance_name=slnngk02 SYSDBA_PWD="dameng123" SYSAUDITOR_PWD="dameng123"

 

2.注册服务
需要用操作系统root账号登陆注册,2个节点的命令一致
节点1:
[root@host134 root]# cd /dmdbms/product/script/root
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdbms/data/slnngk/dm.ini -p slnngk

 

节点2:
[root@host135 root]# cd /dmdbms/product/script/root
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdbms/data/slnngk/dm.ini -p slnngk

注册了服务就可以使用操作系统的systemctl命令停启数据库了
systemctl status DmServiceslnngk.service
systemctl start DmServiceslnngk.service

 

 

3.尝试启动数据库
节点1和节点2都执行如下命令,root账号下执行
[root@host134 ~]#systemctl status DmServiceslnngk.service

这个时候可以看下数据库默认端口是否启动

复制代码
节点1:
[root@host134 ~]# ss -nlp|grep 5236
tcp    LISTEN     0      128      :::5236                 :::*                   users:(("dmserver",pid=30859,fd=4))

节点2:
[root@host135 root]# ss -nlp|grep 5236
tcp    LISTEN     0      128      :::5236                 :::*                   users:(("dmserver",pid=30504,fd=4))
复制代码

 

4.修改dm.ini参数
开启如下配置文件开关
# 节点1
su - dmdba
vi /dmdbms/data/slnngk/dm.ini
MAL_INI = 1
MPP_INI = 1

 

# 节点2
vi /dmdbms/data/slnngk/dm.ini
MAL_INI = 1
MPP_INI = 1

 

5.配置MAL参数
# 节点1和节点2的该配置文件保持一致
vi /dmdbms/data/slnngk/dmmal.ini

 

复制代码
MAL_CHECK_INTERVAL   = 5  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL  = 5  #判定 MAL 链路断开的时间

[MAL_INST1]
MAL_INST_NAME = slnngk01
MAL_HOST = 192.168.1.134
MAL_PORT = 61141
MAL_INST_HOST = 192.168.1.134
MAL_INST_PORT = 5236

[MAL_INST2]
MAL_INST_NAME = slnngk02
MAL_HOST = 192.168.1.135
MAL_PORT = 61141
MAL_INST_HOST = 192.168.1.135
MAL_INST_PORT = 5236
复制代码

 

6.mpp控制文件
该配置文件两个节点都一样

 

复制代码
vi /dmdbms/data/slnngk/dmmpp.ini

[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME = slnngk01

[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME = slnngk02
复制代码

 

7.mpp控制文件转化
使用 dmctlcvt 工具将 dmmpp.ini 转化为 ctl 控制文件
# 节点1
su - dmdba
dmctlcvt type=2 SRC=/dmdbms/data/slnngk/dmmpp.ini DEST=/dmdbms/data/slnngk/dmmpp.ctl

# 节点2
su - dmdba
dmctlcvt type=2 SRC=/dmdbms/data/slnngk/dmmpp.ini DEST=/dmdbms/data/slnngk/dmmpp.ctl

 

 

 

 

7.配置归档(可选)

每个节点都一样,该步骤在mpp里不是强制,但是线上建议需要配置归档模式

disql sysdba/dameng123
alter database mount;
alter database add archivelog 'dest=/dmdbms/arch,TYPE=local,FILE_SIZE=1024';
alter database archivelog;
alter database open;

 

或是直接生成配置文件,2个节点配置都一样

复制代码
vi /dmdbms/data/slnngk/dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments

ARCH_WAIT_APPLY      = 0

[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdbms/arch
        ARCH_FILE_SIZE       = 1024
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1
复制代码

 

 

 

8.重启动服务
节点1和节点2执行的命令一致(root账号下执行):

[root@host134 root]#systemctl restart DmServiceslnngk.service
[root@host135 root]#systemctl restart DmServiceslnngk.service

 

9.验证集群
其中一个节点登陆
[dmdba@host134 slnngk]$ disql sysdba/dameng123

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.866(ms)
disql V8
SQL> select instance_name from v$instance;

LINEID INSTANCE_NAME
---------- -------------
1 SLNNGK01
2 SLNNGK02

used time: 7.887(ms). Execute id is 367470.

 

10.创建schema(与oracle一样)
我这里登陆到节点1上执行创建
创建表空间

 

复制代码
[dmdba@host134 slnngk]$ disql sysdba/dameng123
Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.418(ms)
disql V8
SQL> create tablespace tps_hxl datafile '/dmdbms/data/slnngk/tps_hxl01.DBF' size 1024 autoextend on;
executed successfully
used time: 00:00:01.035. Execute id is 1100


这个时候节点2也会自动创建该表空间的
节点1:
SQL> select tablespace_name from dba_tablespaces;

LINEID     TABLESPACE_NAME
---------- ---------------
1          SYSTEM
2          ROLL
3          TEMP
4          MAIN
5          TPS_HXL
6          MAIN

6 rows got

used time: 11.110(ms). Execute id is 902037.


节点2:
[dmdba@host135 slnngk]$ disql sysdba/dameng123

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.280(ms)
disql V8
SQL> select tablespace_name from dba_tablespaces;

LINEID     TABLESPACE_NAME
---------- ---------------
1          SYSTEM
2          ROLL
3          TEMP
4          MAIN
5          TPS_HXL
6          MAIN

6 rows got

used time: 13.577(ms). Execute id is 760038.
复制代码

 

##创建用户,在其中一个节点上执行:
create user hxl identified by dameng123 default tablespace tps_hxl default index tablespace tps_hxl;
grant dba to hxl;

设置密码永不过期
alter user hxl limit password_life_time unlimited;

创建用户也是一样的,在一个节点上执行,会自动同步到另外的节点

11.连接方式

本地连接,本地连接指定mpp_type=local,查询到的是本地的信息
节点1:

复制代码
[dmdba@host135 slnngk]$ disql SYSDBA/dameng123@192.168.1.134:5236#"{mpp_type=local}"

Server[192.168.1.134:5236]:mode is normal, state is open
login used time : 3.111(ms)
disql V8
SQL> select instance_name from v$instance;

LINEID     INSTANCE_NAME
---------- -------------
1          SLNNGK01

used time: 3.651(ms). Execute id is 1400.}"
复制代码

 

节点2:

[dmdba@host135 slnngk]$ disql SYSDBA/dameng123@192.168.1.135:5236#"{mpp_type=local}"

Server[192.168.1.135:5236]:mode is normal, state is open
login used time : 1.852(ms)
disql V8
SQL> select instance_name from v$instance;

LINEID INSTANCE_NAME
---------- -------------
1 SLNNGK02

used time: 2.461(ms). Execute id is 1400.

 

若是不指定mpp_type,那么默认的就是全局连接
连接任何一个EP:

复制代码
[dmdba@host135 slnngk]$ disql SYSDBA/dameng123@192.168.1.135:5236

Server[192.168.1.135:5236]:mode is normal, state is open
login used time : 3.046(ms)
disql V8
SQL> select instance_name from v$instance;

LINEID     INSTANCE_NAME
---------- -------------
1          SLNNGK02
2          SLNNGK01

used time: 8.528(ms). Execute id is 137261.
复制代码

或是指定:mpp_type=global

 

复制代码
[dmdba@host135 slnngk]$ disql SYSDBA/dameng123@192.168.1.135:5236#"{mpp_type=global}"

Server[192.168.1.135:5236]:mode is normal, state is open
login used time : 2.592(ms)
disql V8
SQL> select instance_name from v$instance;

LINEID     INSTANCE_NAME
---------- -------------
1          SLNNGK02
2          SLNNGK01

used time: 6.534(ms). Execute id is 144858.
复制代码

 

12.数据验证
登陆任何一个EP创建表并写入数据,我们这里登陆节点1(使用刚才创建的用户)
创建哈希分布表T_HASH,分布列为C1.

复制代码
disql hxl/dameng123
create table t_hash(c1 int, c2 char(10)) distributed by hash (c1);

insert into t_hash values(1,'name1');
insert into t_hash values(2,'name2');
insert into t_hash values(3,'name3');
insert into t_hash values(4,'name4');
insert into t_hash values(5,'name5');
insert into t_hash values(6,'name6');
insert into t_hash values(7,'name7');
insert into t_hash values(8,'name8');
insert into t_hash values(9,'name9');
insert into t_hash values(10,'name10');
commit;

集群中看到所有的数据
SQL> select * from t_hash;

LINEID     C1          C2        
---------- ----------- ----------
1          1           name1     
2          3           name3     
3          5           name5     
4          7           name7     
5          9           name9     
6          2           name2     
7          4           name4     
8          6           name6     
9          8           name8     
10         10          name10    

10 rows got

used time: 5.221(ms). Execute id is 854054.

尝试通过本地登陆查看

disql hxl/dameng123@192.168.1.134:5236#"{mpp_type=local}"
SQL> select * from t_hash;

LINEID     C1          C2        
---------- ----------- ----------
1          2           name2     
2          4           name4     
3          6           name6     
4          8           name8     
5          10          name10    

used time: 1.581(ms). Execute id is 1800.

可以看到只能查到本地的数据.
复制代码

 

13.可用性验证
关闭集群中的一个EP,我们这里关闭节点2

[root@host135 root]#systemctl stop DmServiceslnngk.service


全局方式无法登陆
[dmdba@host134 slnngk]$ disql sysdba/dameng123
[-6024]:Remote node global login failed.
disql V8
username:

只能通过本地登陆可用的节点
[dmdba@host134 slnngk]$ disql sys/dameng123@192.168.1.134:5236#"{mpp_type=local}"

Server[192.168.1.134:5236]:mode is normal, state is open
login used time : 1.953(ms)
disql V8
SQL>

 

posted @   slnngk  阅读(196)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-08-02 redis慢查询
点击右上角即可分享
微信分享提示