(一)达梦数据库使用DEM搭建两套主备集群并实现集群间的数据同步过程
- 安装达梦数据库
根据以下配置安装达梦数据库
安装路径 | 数据库名 | 实例名 | 端口号 | ip |
/home/dmdba/dmdbms | DM | DM | 5236 | 192.168.2.128 |
其余初始化实例参数按照默认配置
- 部署DMHS
- 安装规划
安装路径 | 端口号 | ip |
/home/dmdba/dmhs | 15236 | 192.168.2.128 |
- 安装步骤
- 进入安装包所在目录启动安装程序
- 进入图形化页面后点击下一步
- 选择已获得的key文件
- 根据需要选择安装类型和安装目录
选择安装组件时不要勾选内置库,部署dem之前需要用外置库初始化一个实例
- 等待安装完成后配置远程部署工具
- 根据提示启动服务
- 安装完成
- 登录DMHS
启动网页进入dmhs管理平台,ip:8080/manager,默认账号密码为admin/888888
- 部署DEM
- 复制dem.war到DMHS下的web路径
注意:2024年新版本的达梦安装路径没有web
- 配置Java环境
可以在数据库目录中指定jdk目录export JAVA_HOME=/home/dmdba/dmdbms/jdk
若不配置Java环境启动dem时会报错
- 重启dmhs web服务
./DmhsWebService restart,等待dem.war解压完成
- 使用外置库初始化一个实例
初始化一个实例端口号为15236,实例名为DM,作为dem数据库,使用数据库管理工具manager登录该数据库,然后执行/home/dmdba/dmdbms/web/dem_init.sql脚本
- 修改/home/dmdba/dmhs/web/webapps/dem/WEB-INF/db.xml文件
- 修改/home/dmdba/dmhs/web/webapps/manager/WEB-INF/config/connectPool.xml文件
- 运行/home/dmdba/dmhs/scripts/dmhs_manager.sql脚本
- 启动dmhs服务访问dem
- 利用dem部署集群
- 集群规划
源端:
参数 | 配置节点1 | 配置节点2 |
集群名称 | YD | |
实例名 | YD_01 | YD_02 |
PORT_NUM | 5236 | 5236 |
MAL_PORT | 5336 | 5336 |
DW_PORT | 5436 | 5436 |
MAL_DW_PORT | 5536 | 5536 |
库名 | YD | |
页大小 | 32K | |
簇大小 | 32页 | |
编码格式 | UTF-8 | |
大小写敏感 | 是 |
目的端:
参数 | 配置节点1 | 配置节点2 |
集群名称 | MD | |
实例名 | MD_01 | MD_02 |
PORT_NUM | 5236 | 5236 |
MAL_PORT | 5336 | 5336 |
DW_PORT | 5436 | 5436 |
MAL_DW_PORT | 5536 | 5536 |
库名 | MD | |
页大小 | 32K | |
簇大小 | 32页 | |
编码格式 | UTF-8 | |
大小写敏感 | 是 |
- 节点机器配置代理服务
所有节点机器安装数据库后修改/home/dmdba/dmdbms/tool/dmagent/config.properties 文件中的dem的IP地址为之前设置的
修改完成后使用root启动服务
所有节点配置完成后刷新dem,可以看到已经连接成功
- 部署集群YD
- 将任意节点数据库安装路径下的bin下载到本机并压缩
- 部署步骤
1)点击部署集群输入集群名称
2)选择要部署的集群类型
3)根据实际需要进行实例规划,规划完成后配置服务名
4)添加主备库
5)根据实际需求进行数据准备
5)配置dm.ini/dmmal.ini/dmarch.ini/dmwatcher.ini
6)配置监视器
7)上传之前下载的bin文件压缩包
8)部署前小结,确认无误后点击下一步开始部署
9)开始部署,等待部署完成
10)部署完成后打开数据库管理工具连接数据库
11)执行优化脚本
12)创建定时备份作业,并创建备份
13)重启集群,集群YD部署成功
4.部署集群MD
使用dem部署MD集群步骤同YD,不再赘述,需注意部署完成后也需要优化参数和创建备份作业。
5.节点机器安装dmhs
dmhs安装时需注意安装标准版,并在配置内置库时使用之前安装的ip
配置完成后访问hs,刷新
- 配置源端到目的端的数据同步
1)在源端主库执行/home/dmdba/dmhs/scripts/ddl_sql_dm8.sql脚本
2)在源端两个节点开启逻辑日志
3)在源端和目的端主机新增DMDBA用户
4)在源端主机和目的端主机新建同步用户并授权
5)登录dmhs,在目的端两台节点分别新增hs实例
6)按照以下配置添加实例
7)修改DMHS实例,并将修改完成的配置复制到另一台节点实例上保持配置一致
8)分别将两台节点key文件拷贝到实例目录下
9)分别启动主备机的dmhs实例
10)设置环境变量,修改配置文件并重启服务
11)启动执行器
12)添加目的端两台机器的hs实例,按照以下配置进行配置捕获器
13)修改配置文件
14)启动捕获器
- 源端主机插入数据,目的端主机查询数据验证
(二)部署过程中遇到的问题
- 新老版本数据库agent服务配置启动问题
dmagent:数据库代理服务(dmagent):部署在远程机器上的代理,DEM 通过 dmagent 访问远程主机,同时 dmagent 收集监控信息发送给 DEM。
1.修改配置文件
在进行节点代理服务配置时,新版本的数据库需要修改agent.ini配置文件中的center.url,而老版本的数据库是修改config.properties文件。
新版本:
老版本:
- 启动服务
在老版本中,修改完配置文件后直接./DMAentService.sh start启动即可,而在新版本中需要没有自带的DMAentService.sh的服务,因此启动方式也有不同:
- 前台启动
可以直接使用start.sh并指定ini文件进行前台启动,但是这种启动无法停止,只能kill掉
- 注册服务启动
使用./service.sh install注册服务,脚本存放于dmagent/service路径中,通过注册服务,使用服务的方式后台启动,可以随时启停,因此这种方式更常用。
二、代理服务配置完成后dem页面显示版本不匹配的问题
在代理服务配置完成后,源端主机显示代理版本不匹配
1.排查思路
期间认为可能是刷新问题尝试过删除服务器,但是删除不掉
最后发现出现该问题的原因是该服务器上的数据库版本和其他的不同
正常服务器的数据库版本
结论:因此要解决这个问题需要卸载这台服务器上的数据库重新安装相同版本的数据库,安装完成后重新配置代理服务刷新dem问题就解决了
三、通过DEM部署集群过程中实例启动失败
报这个错的原因是/dmarch的权限问题,导致无法创建文件,经检查,/dmarch确实是root权限,因此要把/dmdata,/dmbak,/dmarch,/dmlog全部修改为dmdba权限
备注:在部署工作中,一定要细心,不能漏掉权限检查,权限分配的步骤问题
四、配置sql日志
在配置sql日志的时候,需要根据实际的磁盘大小来进行配置,通过FILE_NUM参数和SWITCH_LIMIT决定,FILE_NUM参数指总共生成多少个日志文件,SWITCH_LIMIT决定每个日志文件大小,例如该在这台服务器上给dmlog分配了1t的空间,那么就可以设置400个文件每个文件大约2g大小,最大就是800g,不会超过分配的磁盘空间。
同时需注意指定的日志存放路径需手动创建,数据库不会自动创建。
使用SP_SET_PARA_VALUE(1,'SVR_LOG',1);命令来开启sql日志功能,该参数为动态参数,可以直接修改,不用重启数据库。
五、dem监控集群失败的问题
1.排查问题思路:
- 检查数据库服务进程和agent进程
- 检查服务器时间是否统一,若数据库服务器时间和dem服务器时间相差过大可能会导致dem监控不到
- 检查日志,未发现明显问题
- 重启agent服务
- 经过以上方法问题均未得到解决,尝试手动在dem增加集群
- 手动增加后dem成功监控到集群,把原来的集群删掉即可
六、在手动增加集群时,出现未检测到监视器服务
1.排查思路
- 查看监视器进程,是否注册服务
- 查看其它服务器是否能检测到监视器
- 使用进程的方式添加监视器成功
4)以后在遇到这种情况时需要确定监视器版本是否和数据库版本以及dem的版本统一,如果不统一也可能会出现找不到监视器的情况。