命令行搭建基于 DFS 的 DM 集群

基于DFS的DM集群是指在分布式文件系统DFS之上将计算层部署为单机数据库或者DM MPP集群的架构,即“DFS+单机数据库”或者“DFS+DM MPP”的组织形式。为了满足特定客户的需求,本章详细介绍一下基于DFS的DM集群的使用方法。

  • “DFS+单机数据库”集群在存储容量和读写较多,计算规模较小且计算节点可靠性要求不高的情况下,建议将单机数据库部署为“DFS+单机数据库”的组织形式
  • “DFS+DM MPP”集群 在分析型场景中,建议将DM MPP部署为“DFS+DM MPP”的组织形式

基于DFS的DM集群和“DFS+DMDSC”相比,唯一的区别就是计算层不同。DFS的搭建与使用完全相同。基于分布式存储的DM集群的搭建分为两步:第一步搭建分布式文件系统,包括DCS、DSS、DRS和DRAS。第二步搭建计算层(单机数据库或者DM MPP)。

本章以详细的步骤,介绍基于分布式存储的DM集群的搭建过程和一些注意事项。本章的例子中,DCS和DRS均为主备模式、数据副本数为3。

15.1 环境准备

单机数据库或DM MPP集群的各节点均部署在192.168.0.141上。

15.2 搭建DFS

分布式文件系统DFS的搭建,详细请参考12.2搭建分布式文件系统

15.3 搭建“DFS+单机数据库”集群

如果选择“DFS+单机数据库”组织形式,则计算层必须搭建为单机数据库。

本小节在15.2搭建分布式文件系统的基础上,在192.168.0.141上搭建单机数据库服务器。

15.3.1 准备dminit.ini配置文件

在/dm/data/ds下准备初始化控制文件dminit.ini:

[ds1]

db_name = ds1

system_path = /dm/data/ds

auto_overwrite = 1

page_size = 8

extent_size = 32

dfs_db_name = db_ds

port_num = 5236

share_flag = 0

dfs_flag = 1

dfs_path = $/ds 				##数据文件存放在分布式系统里的路径

dfs_host = 192.168.0.144 		##主DRS的IP地址

dfs_port = 3330 				##与drs1_p.ini的port_num一致

dfs_copy_num = 3 				##DMTDD数据文件副本数
注意

dfs_path不要设置为上面出现过的所有分布式系统里的路径的父目录,否则当auto_overwrite!=0时,会把dfs_path中的文件误删除。

15.3.2 初始化库

./dminit control=/dm/data/ds/dminit.ini

15.3.3 修改dmdfs.ini

成功初始化库后,在/dm/data/ds/ds1路径下会自动生成dmdfs.ini,其中配置的日志服务器的连接信息就是dminit.ini中指定的主DRS的信息。当配置了主备DRS时,需要手动修改/dm/data/ds/ds1/dmdfs.ini,将备DRS的信息也添加进去。

/dm/data/ds/ds1/dmdfs.ini:

DFS_COPY_NUM = 3 				##Copy number of DFS file

DFS_HB_INTERVAL = 60 			##DFS heart beat interval

DFS_SWITCH_TIMES = 5 			##DFS switch times

DFS_SWITCH_INTERVAL = 2000 		##DFS switch interval

[drs1_p]

DFS_HOST = 192.168.0.144 		##Host of drsserver

DFS_PORT = 3330 				##Port number of drs server

[drs1_s]

DFS_HOST = 192.168.0.145 		##Host of drs server

DFS_PORT = 3330 				##Port number of drs server

15.3.4 向DMTDD添加数据库服务器

启动dmdcstool,连接DCS。

./dmdcstool dfs_ini=/dm/data/dmdfs1.ini

执行:

add data server ds1 group grp1 database db_ds arch_dir '/dm/data/ds/arch_ds'

使用过程中,需要注意以下几点:

1.添加数据库服务器DS时,dcstool必须连接的是DCS,而不是DRS

2.add data server中的数据库服务器DS名是服务器的实例名,与dminit.ini中的实例名相同

3.database后面是库名,即在dminit.ini中的dfs_db_name的值

4.归档路径是主备DRS和DRAS所在机器的有效路径

15.3.5 启动DS

./dmserver /dm/data/ds/ds1/dm.ini

15.4 搭建“DFS+DM MPP”集群

如果选择“DFS+DM MPP”组织形式,则计算层必须搭建为DM MPP。

本小节在12.2 搭建分布式文件系统的基础上,在192.168.0.141上搭建两节点DM MPP,且两节点DS分别属于日志组grp1和grp2。

15.4.1 准备dminit.ini配置文件

为两节点MPP分别准备dminit.ini,保存到/dm/data/mpp目录下面。

dminit1.ini:

[mpp1]

db_name = mpp1

system_path = /dm/data/mpp

port_num = 35610

auto_overwrite = 1

page_size = 8

extent_size = 32

dfs_db_name = db_mpp1

mal_flag = 1

mpp_flag = 1

share_flag = 0

dfs_flag = 1

dfs_path = $/mpp1 					##数据文件存放在分布式系统里的路径

dfs_host = 192.168.0.144 			##主DRS的IP地址

dfs_port = 3330 					##与drs1_p.ini的port_num一致

dfs_copy_num = 3 					##DMTDD数据文件副本数

dminit2.ini:

[mpp2]

db_name = mpp2

system_path = /dm/data/mpp

port_num = 35611

auto_overwrite = 1

page_size = 8

extent_size = 32

dfs_db_name = db_mpp2

mal_flag = 1

mpp_flag = 1

share_flag = 0

dfs_flag = 1

dfs_path = $/mpp2 					##数据文件存放在分布式系统里的路径

dfs_host = 192.168.0.144 			##主DRS的IP地址

dfs_port = 3331 					##与drs2_p.ini的port_num一致

dfs_copy_num = 3 					##DMTDD数据文件副本数

值得注意,dfs_path不要设置为上面出现过的所有分布式系统里的路径的父目录,否则当auto_overwrite!=0时,会把dfs_path中的文件误删除。

15.4.2 初始化库

分别初始化节点MPP1和MPP2:

./dminit control=/dm/data/mpp/dminit1.ini

./dminit control=/dm/data/mpp/dminit2.ini

15.4.3 修改dmdfs.ini

成功初始化库后,在/dm/data/mpp1和/dm/data/mpp2路径下会自动生成dmdfs.ini,其中配置的日志服务器的连接信息就是dminit.ini中指定的主DRS的信息。当配置了主备DRS时,需要手动改/dm/data/mpp/mpp1/dmdfs.ini,将备DRS的信息也添加进去。

/dm/data/mpp/mpp1/dmdfs.ini:

DFS_COPY_NUM = 3 				##Copy number of DFS file

DFS_HB_INTERVAL = 60 			##DFS heart beat interval

DFS_SWITCH_TIMES = 5 			##DFS switch times

DFS_SWITCH_INTERVAL = 2000 		##DFS switch interval

[drs1_p]

DFS_HOST = 192.168.0.144 		##Host of drsserver

DFS_PORT = 3330 				##Port number of drs server

[drs1_s]

DFS_HOST = 192.168.0.145 		##Host of drs server

DFS_PORT = 3330 				##Port number of drs server

/dm/data/mpp/mpp2/dmdfs.ini:

DFS_COPY_NUM = 3 				##Copy number of DFS file

DFS_HB_INTERVAL = 60 			##DFS heart beat interval

DFS_SWITCH_TIMES = 5 			##DFS switch times

DFS_SWITCH_INTERVAL = 2000 		##DFS switch interval

[drs2_p]

DFS_HOST = 192.168.0.144 		##Host of drsserver

DFS_PORT = 3331 				##Port number of drs server

[drs2_s]

DFS_HOST = 192.168.0.145 		##Host of drs server

DFS_PORT = 3331 				##Port number of drs server

15.4.4 向DMTDD添加数据库服务器

启动dmdcstool,连接DCS:

./dmdcstool dfs_ini=/dm/data/dmdfs1.ini

执行:

add data server mpp1 group grp1 database db_mpp1 arch_dir '/dm/data/mpp/arch_mpp1'

add data server mpp2 group grp2 database db_mpp2 arch_dir '/dm/data/mpp/arch_mpp2'

使用过程中,需要注意以下几点:

1.添加数据库服务器DS时,dcstool必须连接的是DCS,而不是DRS

2.add data server中的数据库服务器DS名是服务器的实例名,与dminit.ini中的实例名相同

4.database后面是库名,即在dminit.ini中的dfs_db_name的值

5.归档路径是主备DRS和DRAS所在机器的有效路径

15.4.5 准备dmmal.ini

分别在/dm/data/mpp/mpp1和/dm/data/mpp/mpp2目录下创建dmmal.ini,文件内容一致:

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = MPP1

MAL_HOST = 192.168.0.141

MAL_PORT = 35680

MAL_INST_HOST = 192.168.0.141

MAL_INST_PORT = 35610

MAL_DW_PORT = 35690

[MAL_INST2]

MAL_INST_NAME = MPP2

MAL_HOST = 192.168.0.141

MAL_PORT = 35681

MAL_INST_HOST = 192.168.0.141

MAL_INST_PORT = 35611

MAL_DW_PORT = 35691

15.4.6 准备dmmpp.ctl

在/dm/data/mpp下配置dmmpp.ini:

[service_name1]

MPP_SEQ_NO = 0

MPP_INST_NAME = MPP1

[service_name2]

MPP_SEQ_NO = 1

MPP_INST_NAME = MPP2

执行以下命令将dmmpp.ini转换为二进制文件dmmpp.ctl:

./dmctlcvt t2c /dm/data/mpp/dmmpp.ini /dm/data/mpp/dmmpp.ctl

将dmmpp.ctl分别拷贝到/dm/data/mpp/mpp1和/dm/data/mpp/mpp2目录下。

15.4.7 启动MPP

启动MPP1:

./dmserver /dm/data/mpp/mpp1/dm.ini

启动MPP2:

./dmserver /dm/data/mpp/mpp2/dm.ini
微信扫码
分享文档
扫一扫
联系客服