注册
达梦docker环境主备集群搭建过程
培训园地/ 文章详情 /

达梦docker环境主备集群搭建过程

Ansion 2024/03/27 1184 0 2

1.环境说明
联想截图_20240320235651.png
2.Docker安装
1>查看系统内核:
uname -r
2>更新yum包:
sudo yum update
3>卸载旧版本(如果安装过旧版本的话):
sudo yum remove docker docker-common docker-selinux docker-engine
4>安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5>设置yum源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6>可以查看所有仓库中所有docker版本,并选择特定版本安装:
yum list docker-ce --showduplicates | sort -r
7>安装docker:
yum -y install docker-io
8>启动docker服务:
service docker start
systemctl status docker
systemctl enable docker
9>查看docker版本:
docker version
#备注:安装docker需能够访问外网,可通过ping www.baidu.com测试
3.关闭操作系统防火墙
1>节点1、节点2和节点3分别关闭防火墙:
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
#因为集群同步需开放对应端口,如果不想关闭防火墙可采取设置策略的方式。
4.关闭操作系统SELINUX
1>节点1、节点2和节点3分别关闭操作系统selinux:
vim /etc/selinux/config
#将SELINUX改成disable
image.png

5.修改hosts文件
1>节点1、节点2和节点3分别配置hosts:
vim /etc/hosts
image.png

其中第一行写本地节点IP地址。
6.创建本地映射目录
1>节点1、节点2和节点3分别创建本地映射目录:
mkdir -p /dbdata/dw_data
7.加载镜像并重命名
1>节点1、节点2和节点3分别加载镜像:
docker load -i dmwatcher_v8.1.1.190_x86_rh6_64_ent_docker.tar
2>查看镜像:
docker images
3>重命名镜像:
docker tag 192.168.101.88:5000/dmwatcher:v8.1.1.190_x86_rh6_64_ent_docker dmwatcher:v8.1.1.190_x86_rh6_64_ent
4>删除旧镜像:
docker rmi 192.168.101.88:5000/dmwatcher:v8.1.1.190_x86_rh6_64_ent_docker
8.初始化监视器容器
1>在节点3初始化监视器容器:
docker run -d --restart=always --name dmwatcher_monitor --privileged=true --net host -e DMWATCHER_ROLE=monitor -e CLUSTER_IPS="192.168.136.153,192.168.136.152,192.168.136.151" -e LD_LIBRARY_PATH=/opt/dmdbms/bin -v /dbdata/dw_data/dmwatcher_monitor:/opt/dmdbms/data dmwatcher:v8.1.1.190_x86_rh6_64_ent
2>查看容器状态:
docker ps -a
3>查看容器运行日志:
docker logs 容器ID -f
image.png

#日志提示在等主库发送BACKUP_FILE_01.tar和DAMENG.tar文件,此时先不管,继续初始化备库容器
9.初始化备库容器
1>在节点2初始化备库容器:
docker run -d --restart=always --name dmwatcher_standby --privileged=true --net host -e DMWATCHER_ROLE=standby -e DW_NO=2 -e CLUSTER_IPS="192.168.136.153,192.168.136.152,192.168.136.151" -e LD_LIBRARY_PATH=/opt/dmdbms/bin -v /dbdata/dw_data/dmwatcher_standby:/opt/dmdbms/data dmwatcher:v8.1.1.190_x86_rh6_64_ent
2>查看容器状态:
docker ps -a
3>查看容器运行日志:
docker logs 容器ID -f
image.png

#日志提示在等主库发送BACKUP_FILE_01.tar和DAMENG.tar文件,此时先不管,继续初始化主库容器。
10.初始化主库容器
1>在节点1初始化主库容器:
docker run -d --restart=always --name dmwatcher_primary --privileged=true --net host -e PAGE_SIZE=32 -e CASE_SENSITIVE=0 -e DMWATCHER_ROLE=primary -e CLUSTER_IPS="192.168.136.153,192.168.136.152,192.168.136.151" -e DW_NO=1 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -v /dbdata/dw_data/dmwatcher_primary:/opt/dmdbms/data dmwatcher:v8.1.1.190_x86_rh6_64_ent
2>查看容器状态:
docker ps -a
3>查看容器运行日志:
docker logs 容器ID -f
image.png

#该报错是因为需要发送BACKUP_FILE_01.tar和DAMENG.tar文件到节点2的本地备库和监视器映射目录,如果服务器设置scp免密则不会报错,此时需手动scp过去:
image.png

#此时备库容器接受到文件并进行初始化备库:
image.png

11.检查主库容器映射目录ini配置文件
检查主库容器映射目录的dm.ini、dmmal.ini、dmwatcher.ini和dmarch.ini,如果缺失可对应拷贝备库并进行对应修改,比如实例名称,远程归档实例名,修改完成后重启容器。
12.设置主库的OGUID值和数据库模式
1>进入容器:
docker exec -it 容器id /bin/bash
cd /opt/dmdbms/bin
2>登录数据库并设置OGUID和主库模式:
./disql SYSDBA/SYSDBA001
SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SQL>SP_SET_OGUID(453331);
SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);
SQL>alter database primary;
13.查看监视器
1> 重启监视器容器:
docker restart 容器ID
2> 进入监视器容器,查看监视器状态:
docker exec -it 容器ID bash
3> cd /opt/dmdbms/data/DAMENG
4> cp dmmonitor.ini dmmonitor_02.ini
5> vi dmmonitor_02.ini #将MON_DW_Confirm参数改成0
6> cd /opt/dmdbms/bin
7> ./dmmonitor /opt/dmdbms/data/DAMENG/dmmonitor_02.ini
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服