目录
前言
一、 虚拟机设置
1.环境规划
1.1网卡规划
二、操作系统版本安装
1.准备工作
1.1配置yum源
1.4挂载磁盘
1.5用户资源限制
1.6设置环境变量
2.安装数据库软件
3.使用 dminit 工具初始化实例
4.主库脱机备份
4.1遇到问题
4.2备份成功
5.备库还原
6.配置实例的配置文件 dm.ini
7.配置MAL系统配置文件 dmmal.ini
8.配置守护进程配置文件 dmwatcher.ini
9.以 Mount 方式启动数据库实例
10.启动守护进程
11.启动确认监视器
12.注册服务
本次实验主要介绍在测试/生产环境中(Linux 系统)部署主备集群。由一个主库,一个备库,一个监视器组成。
主机名 |
IP1 |
IP2 |
DM8_Primary |
192.168.205.xxx/xxx |
192.168.205.xxx |
DM8_standby |
192.168.205.xxx/xxx |
192.168.205.xxx |
DM8_monitor |
192.168.205.xxx |
192.168.205.xxx |
1.2目录与磁盘规划
用途 |
目录路径 |
大小 |
备注 |
数据库软件安装目录 |
/home/dmdba/dmdbms |
50GB |
单独挂载磁盘 |
实例安装目录 |
/dmdata |
20GB |
单独挂载磁盘 |
归档日志存放目录 |
/dmarch |
5GB |
单独挂载磁盘 |
备份文件存放目录 |
/dmbak |
5GB |
DM 数据库安装在 Linux 操作系统所需条件:glibc 2.3 以上,内核 2.6,预先安装 UnixODBC,系统性能监控等组件。
在没有配置yum源得时候,安装gcc遇到了报错,需要配置yum源才行。
1.2安装gcc
查看gcc版本
rpm -qa|grep gcc
1.3添加用户和组
vim /etc/security/limits.conf
将安装包上传到服务器后使用 root 用户挂载 iso 安装包文件到 /mnt 目录下
执行以下命令,切换到 /dmdata/bin 目录
注意点:初始化的实例必须先启动一次,才能脱机备份。
确认主库 DMAP 服务是否启动:
如果未启动:
cd /dmdata/bin/
./DmAPService start
关闭数据库
使用 dmrman 工具脱机备份主库,dmdba 用户到安装目录的 bin 下执行以下命令:
执行 backup 全库
原因是没有关闭数据库
拷贝主库备份到备库合适目录
关闭数据库后,使用 dmrman 工具还原备库,dmdba 用户到安装目录的 bin 下执行以下命令:
注意:如果此时启动数据库服务会报错:
Instance DMSERVICETEST startup failed, execute ‘recover database … update db_magic’ in dmrman.
执行 recover update db_magic
修改实例的 dm.ini 文件参数
主库修改以下参数值:
INSTANCE_NAME = DMSERVER1
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
备库修改以下参数值:
INSTANCE_NAME = DMSERVER2
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
在目录下新建文件 dmarch.ini
主库添加以下内容:
在/dmdata/DAMENG目录下新建文件 dmmal.ini,主备库文件内容要相同
在/dmdata/DAMENG目录下新建文件 dmwatcher.ini,主备库文件内容要相同。
使用 dmdba 用户,到数据库安装目录的 bin 下执行(主备库都执行):
主库修改数据库模式为 primary,执行以下命令:
备库修改数据库模式为 standby,执行以下命令:
查看备库
dmdba 用户下,到数据库安装目录的 bin 下执行(主备库都执行)。
守护进程配置为自动切换时,必须配置确认监视器。在主备服务器以外的服务器上(需安装有 DM 数据库软件,且与主备心跳网络端口开放)。
首先安装monitor监视器数据库
新建确认监视器配置文件 dmmonitor.ini,执行以下命令:
启动主备库dmwatcher服务
此时即可显示主备集群状态
11.1遇到问题
2021-08-31 17:06:21.314 [ERROR] dmwatcher P0000019051 T0000000000000019059 os_prcs_is_dmsvr_prcs failed, progress(pid:18709) name() is not DMSERVER.
2021-08-31 17:06:21.314 [ERROR] dmwatcher P0000019051 T0000000000000019055 Can't connect to DM server on '127.0.0.1' port(33141) errno(111)
修改dm.ini中的DW_PORT参数值
主库:
DW_PORT = 33141
备库:
DW_PORT = 33142
遇到问题:
主库和备库的守护进程状态为:startup状态,无法转变为open状态,导致集群状态无法从mount状态到open状态。通过查看监视器,守护进程日志,数据库服务日志,没有错误日志。
以上启动为前台方式启动,仅用户搭建过程中验证配置。配置没问题后需要将实例,守护进程和确认监视器注册为系统服务。使用 root 用户,到数据库安装目录的 script/root 下,执行。
注册守护进程服务(主备库都执行)。
主备执行:
监视器执行:
参考网址: https://eco.dameng.com/docs/zh-cn/ops/standard-dw-cluster.html
本文转载请备明出处!!!