目录

一、版本介绍

 二、Docker环境的安装。

三、导入镜像

四、创建自定义网络

五、规划集群IP信息

六、运行主备集群容器

七、主备集群的验证

 八、集群参数的解析


一、版本介绍

  1. 主机版本:CentOS-7-x86_64-DVD-151iso
  2. Docker版本:达梦的主备环境分为K8S和Docker版本,其中K8S版本需要在K8S环境中进行部署,而Docker版本只需准备Docker客户端即可部署主备集群。下面介绍Docker版本的达梦主备。
  3. 安装前的准备
    软硬件版本
    终端X86-64 架构
    Docker19.0 及以上版本
    达梦主备镜像离线包v8.1.1.190_x86_rh6_64_ent_docker

 二、Docker环境的安装。

  1. 先关闭防火墙,并且关闭开机自启动。命令为:
    systemctl disable firewalld
  2. 清除旧有的环境:
    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
  3. 需要的安装包:
    yum install -y yum-utils
  4. 设置镜像仓库:
    yum-config-manager \
        --add-repo \
          http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. 更新yum软件索引:
    yum makecache fast
  6. 安装docker:
    yum install docker-ce docker-ce-cli containerd.io
  7. 启动docker并设置开机自启动:
    systemctl start docker
    systemctl enable docker

三、导入镜像

     1.进入存放主备镜像离线包的目录,使用docker命令导入主备镜像。命令如下:

docker load -i dmwatcher_v8.1.1.190_x86_rh6_64_ent_docker.tar

      2. 导入完成后,可以使用 docker images 来查看导入的镜像。如果需要重新命名镜像可以使用         docker tag命令进行修改,命令如下:

docker tag e98bc2e95e94 dmwatcher:v8.1.1.190_x86_rh6_64_ent

       其中e98bc2e95e94 为需要改名的IMAGE ID。

四、创建自定义网络

       1.查看网络,Docker安装后会,默认创建三种网络,命令为: 

docker network ls

bridge(桥梁模式):相当于Vmware中的Nat模式,容器使用独立network Namespace。默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了。

host(主机模式):Docker 容器的网络会附属在主机上,两者是互通的。相当于Vmware中的桥接模式,与宿主机在同一个网络中,但没有独立IP地址。

none:该模式将容器放置在它自己的网络栈中,但是并不进行任何配置。实际上,该模式关闭了容器的网络功能,docker容器就不会分配局域网的IP。

        在搭建一些集群软件的时候,组件和组件之间需要进行网络通信,如果没有固定分配的 IP ,容器提供的服务将是不可靠的。每次主机重启时,如果容器没有固定 IP ,容器的 IP 将由启动顺序决定。这将导致主备集群容器之间访问异常,从而使得服务提供失败。因此希望能够将容器的IP固定下来。

       我们可以使用Docker默认的bridge网络来部署主备集群,为了加深Docker网络类型的使用,下面介绍如何在Docker中创建自定义网络以及达梦主备集群容器如何使用自定义网络。创建自定义网络的命令如下:

docker network create --subnet=172.20.0.0/24 net1

    subnet(子网):设置前24位为网络位,后8位为主机位,该网段可用IP地址:172.20.0.1 到 172.20.0.254。

       net1:自定义的网络名称,后面运行容器的时候要用到。使用docker network ls命令可以查看刚创建的网络net1的相关信息。

2. 创建docker自定义网络

docker network create --subnet=172.20.0.0/24 net1

五、规划集群IP信息

              达梦主备Docker镜像支持部署一主多备,只需指定集群节点数和对应节点序号即可,为             了说明方便,下面介绍一主一备集群的部署过程。集群IP规划如下:

集群角色IP
监视器(monitor)172.20.0.2
主节点(primary)172.20.0.3
备节点(standby)172.20.0.4

六、运行主备集群容器

                  达梦主备集群根据集群节点数需要运行多个容器,比如一主一备集群至少要运行三个               容器,即主节点容器、备节点容器、监视器容器。运行三个容器的Docker命令如下:

         1.运行备节点容器 

docker run -d -p 30236:5236 --restart=always --name dmwatcher_standby --privileged=true --net net1 --ip 172.20.0.4 -e DMWATCHER_ROLE=standby -e DW_NO=2 -e CLUSTER_IPS="172.20.0.2,172.20.0.3,172.20.0.4" -e LD_LIBRARY_PATH=/opt/dmdbms/bin -v /home/data/dw-data/dmwatcher_standby:/opt/dmdbms/data 192.168.101.88:5000/dmwatcher:v8.1.1.190_x86_rh6_64_ent_docker

         2.运行监视器容器

docker run -d --restart=always --name dmwatcher_monitor --privileged=true --net net1 --ip 172.20.0.2 -e DMWATCHER_ROLE=monitor -e CLUSTER_IPS="172.20.0.2,172.20.0.3,172.20.0.4" -e LD_LIBRARY_PATH=/opt/dmdbms/bin -v /home/data/dw-data/dmwatcher_monitor:/opt/dmdbms/data 192.168.101.88:5000/dmwatcher:v8.1.1.190_x86_rh6_64_ent_docker

       3.运行主节点容器

docker run -d -p 30136:5236 --restart=always --name dmwatcher_primary --privileged=true --net net1 --ip 172.20.0.3 -e PAGE_SIZE=16 -e CASE_SENSITIVE=1 -e DMWATCHER_ROLE=primary -e DW_NO=1 -e CLUSTER_IPS="172.20.0.2,172.20.0.3,172.20.0.4" -e LD_LIBRARY_PATH=/opt/dmdbms/bin -v /home/data/dw-data/dmwatcher_primary:/opt/dmdbms/data 192.168.101.88:5000/dmwatcher:v8.1.1.190_x86_rh6_64_ent_docker

七、主备集群的验证

           达梦主备集群容器部署好后,可以通过查看监视器的日志来验证主备集群是否部署成功。          首先通过运行docker ps命令来获取当先运行的容器信息,如图所示:

   再通过监视器的ID来查看监视器的日志,命令为:docker container logs 监视器ID,如图所示:

 八、集群参数的解析

          使用Docker命令运行达梦主备集群容器,里面带有很多参数,有些参数是Docker运行的参          数,有些参数是达梦主备镜像ENV的参数,其中ENV相关参数,上面运行主备集群容器只用到        了一部分,其他没指定的ENV参数都是用的默认值,一下是对两种参数的介绍:

1.Docker运行相关参数

参数名参数解析
-d后台运行容器,并返回容器ID。
-p指定端口映射,格式为:主机(宿主)端口:容器端口。
--restart指定容器的重启策略,always表示在容器退出时总是重启容器。
--name为容器指定一个名称。
--privileged指定容器是否在特权模式下运行。
--net指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型。
--ip指定容器IP为固定IP。
-e设置环境变量。
-v指定在容器创建的时候将宿主机目录挂载到容器内目录。

2.达梦主备集群镜像ENV参数说明:

参数名参数默认值参数解析
DMWATCHER_ROLEprimary达梦主备集群节点角色:主(primary)、备(standby)、监视器(monitor)。
PAGE_SIZE8初始化实例参数:页大小,可选值4/8/16/32。
CASE_SENSITIVE1初始化实例参数:是否大小写敏感。1:大小写敏感;0:大小写不敏感。
UNICODE_FLAG0

初始化实例参数:字符集选项。

0:GB18030;1:UTF-8;2:EUC-KR。
SYSDBA_PWDSYSDBA001初始化实例时设置SYSDBA的密码,长度至少9位。如主备容器指定SYSDBA_PWD,所有节点需要保持一致的密码。
BUFFER100系统缓冲区大小,以M为单位,dm.ini里静态参数BUFFER,推荐值:可用容器内存的60%~80%。
OGUID453331达梦主备集群唯一标识OGUID。
DW_NODES2达梦主备集群节点数,不包含监视器节点。
DW_NO1达梦主备集群节点序号,从1开始编号,监视器不用编号。
CLUSTER_IPS达梦主备集群所有节点容器IP,IP之间用“,”隔开,第一个IP是监视器IP,第二个IP是主节点IP,主节点IP之后的是所有备节点IP,此参数必须配置。
CHG_PASSWDdameng777容器root用户密码。
LD_LIBRARY_PATH指定容器LD_LIBRARY_PATH环境变量。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐