达梦数据库(dm8) Centos7 高可用集群

国产数据库-达梦

  • 一、环境详情
  • 二、Centos7 参数优化(所有节点)
  • 三、创建用户(所有节点)
  • 四、开始安装(所有节点)
  • 五、服务注册启动

当前安装:在指定版本环境下 测试,仅供参考

  • 官网描述:
    达梦数据守护集群软件(DM Data Watch)是一种集成化的高可靠性解决方案,该方案基于数据库REDO日志,不依赖于第三方软件和存储,用于解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提供不间断数据库服务,可同时满足用户对数据安全性和高可用性的要求。数据守护包含的主要部件有:主数据库、备数据库、联机REDO日志系统、本地REDO日志归档服务、实时REDO日志归档服务、REDO日志重做服务、MAL系统、守护进程和监视器。其中,守护进程和监视器是两个独立的工具,其他部件集成在DM8数据库服务器DMSERVER中。
  • 实时监控:
    达梦数据守护能够提供主备机切换、备机接管、应用自动重连、自动同步历史数据功能,通过监控工具DMWMON,可实时监控主、备数据库的状态和数据同步情况。

一、环境详情

  1. 软件版本

    软件版本下载地址
    Centos 7CentOS Linux release 7.9.2009 (Core) x86清华镜像站: link
    达梦数据库dm8_20230418_x86_rh6_64.zip官网: link
  2. 节点分配
    如有需要还可以多配置一个副监视器(node4),部署方式和node3一致

    节点IP角色数据库名实例名portmal inst_dw_portmal dw_port
    node1192.168.162.221主机DM01DMSERVER0152364510165101
    node2192.168.162.222备机DM01DMSERVER0252364510165101
    node3192.168.162.223主监视器

二、Centos7 参数优化(所有节点)

  1. 关闭防火墙
    可以设置防火墙开放 5236 端口,或者直接关闭防火墙,这里选择直接关闭。
  • 关闭防火墙: systemctl stop firewalld
  • 禁止开机自启: systemctl disable firewalld
  1. 修改系统最大进程数和最大文件打开数

    vim /etc/security/limits.conf修改以下内容:
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
    
  2. 修改进程数据限制

    vim /etc/security/limits.d/90-nproc.conf
    修改以下内容:
    * soft nproc 1024
    * soft nproc 2048
    

    查看优化信息

    ulimit -a
    

三、创建用户(所有节点)

  1. 登录 root 创建 mss 用户

    groupadd mss
    useradd -m -d /home/mss mss -g mss 
    passwd mss123456
    
  2. 创建目录
    登录 mss 用户

    # 创建安装目录
    mkdir /home/mss/dm8
    # 创建镜像目录
    mkdir /home/mss/dm8/iso
    

四、开始安装(所有节点)

  1. 上传镜像
    上传镜像文件(dm8_20230418_x86_rh6_64.iso)到 /home/mss/dm8 下

  2. 挂载镜像
    切换 root 用户

    mount /home/mss/dm8/dm8_20230418_x86_rh6_64.iso /home/mss/dm8/iso/
    # 查看是否挂载
    df -h
    

    授权 mss 用户目录权限

    chown -R mss:mss /home/mss
    
  3. 创建其它文件夹
    切换 mss 用户

    cd /home/mss/dm8
    mkdir install
    
  4. 执行安装

    cd /home/mss/dm8/iso
    ./DMInstall.bin -i
    

    在这里插入图片描述
    选择典型安装-1,安装路径 /home/mss/dm8/install
    安装完成提示:
    在这里插入图片描述

    数据库安装完成后,需要切换至 root 用户执行上图中的命令 root_installer.sh 创建 DmAPService,否则会影响数据库备份。

    su root
    cd  /home/mss/dm8/install/script/root
    ./root_installer.sh
    
  5. 创建实例

    切换 mss 用户
    注: 关于这些参数说明可进入安装目录的bin下,执行./dminit help
    case_sensitive :字符串比较大小写敏感,默认开启1(区分大小写),设置为 0 则不区分大小写

    在 node1 创建实例一:

    cd /home/mss/dm8/install/bin
    ./dminit path=/home/mss/dm8/data DB_NAME=DM01 INSTANCE_NAME=DBSERVER01 CASE_SENSITIVE=0  PORT_NUM=5236 SYSDBA_PWD=casic123456 SYSAUDITOR_PWD=casic123456 PAGE_SIZE=32 EXTENT_SIZE=32  CHARSET=1  LOG_SIZE=500
    

    在 node2 创建实例二:

    cd /home/mss/dm8/install/bin
    ./dminit path=/home/mss/dm8/data DB_NAME=DM01 INSTANCE_NAME=DBSERVER02 CASE_SENSITIVE=0  PORT_NUM=5236 SYSDBA_PWD=casic123456 SYSAUDITOR_PWD=casic123456 PAGE_SIZE=32 EXTENT_SIZE=32  CHARSET=1  LOG_SIZE=500
    

    在 node3 创建监视器:

    cd /home/mss/dm8/install/bin
    ./dminit path=/home/mss/dm8/data DB_NAME=DM01
    
  6. 配置实例参数
    切换 mss 用户

    配置 node1 实例一:------------------------------------------------------------------

    cd /home/mss/dm8/data/DM01
    

    (1)配置dm.ini

    INSTANCE_NAME =DBSERVER01
    PORT_NUM = 5236
    DW_INACTIVE_INTERVAL = 60
    #不允许手工方式修改实例模式/状态/OGUID
    ALTER_MODE_STATUS = 0
    #不允许备库 OFFLINE 表空间
    ENABLE_OFFLINE_TS = 2
    #打开 MAL 系统
    MAL_INI = 1
    #打开归档配置
    ARCH_INI = 1
    #统计最近 64 次的日志重演信息
    RLOG_SEND_APPLY_MON = 64
    

    (2)新建dmmal.ini

    #配置上端口规划中规划的各端口参数:
    #PORT_NUM、MAL_INST_DW_PORT、MAL_DW_PORT
    #[MAL_INST1]中填写主机的、
    #[MAL_INST2]中填写备机的MAL_CHECK_INTERVAL = 5
    MAL_CONN_FAIL_INTERVAL = 5[MAL_INST1]
    MAL_INST_NAME = DBSERVER01
    MAL_HOST = 192.168.162.221
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.221
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101[MAL_INST2]
    MAL_INST_NAME = DBSERVER02
    MAL_HOST = 192.168.162.222
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.222
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101
    

    (3)新建dmarch.ini

    [ARCHIVE_REALTIME]
    ARCH_TYPE = REALTIME
    ARCH_DEST =DBSERVER02[ARCHIVE_LOCAL1]
    ARCH_TYPE = LOCAL
    ARCH_DEST = /home/mss/dm8/data/DM01/arch
    ARCH_FILE_SIZE = 128
    ARCH_SPACE_LIMIT = 0
    

    (4)新建dmwatcher.ini

    [GRP1]
    DW_TYPE = GLOBAL
    DW_MODE = AUTO
    DW_ERROR_TIME = 10
    INST_RECOVER_TIME = 60
    INST_ERROR_TIME = 10
    INST_OGUID = 453331
    INST_INI = /home/mss/dm8/data/DM01/dm.ini
    INST_AUTO_RESTART = 1
    INST_STARTUP_CMD = /home/mss/dm8/install/bin/dmserver
    RLOG_SEND_THRESHOLD = 0
    RLOG_APPLY_THRESHOLD = 0
    

    配置 node2 实例二:------------------------------------------------------------------

    cd /home/mss/dm8/data/DM01
    

    (1)配置dm.ini

    INSTANCE_NAME = DBSERVER02
    PORT_NUM = 5236
    DW_INACTIVE_INTERVAL = 60
    ALTER_MODE_STATUS = 0
    ENABLE_OFFLINE_TS = 2
    MAL_INI = 1
    ARCH_INI = 1
    RLOG_SEND_APPLY_MON = 64
    

    (2)新建dmmal.ini

    #配置上端口规划中规划的各端口参数:
    #PORT_NUM、MAL_INST_DW_PORT、MAL_DW_PORT
    #[MAL_INST1]中填写主机的、
    #[MAL_INST2]中填写备机的MAL_CHECK_INTERVAL = 5
    MAL_CONN_FAIL_INTERVAL = 5[MAL_INST1]
    MAL_INST_NAME = DBSERVER01
    MAL_HOST = 192.168.162.221
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.221
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101[MAL_INST2]
    MAL_INST_NAME = DBSERVER02
    MAL_HOST = 192.168.162.222
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.222
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101
    

    (3)新建dmarch.ini

    [ARCHIVE_REALTIME]
    ARCH_TYPE = REALTIME
    ARCH_DEST =DBSERVER01[ARCHIVE_LOCAL1]
    ARCH_TYPE = LOCAL
    ARCH_DEST = /home/mss/dm8/data/DM01/arch
    ARCH_FILE_SIZE = 128
    ARCH_SPACE_LIMIT = 0
    

    (4)新建dmwatcher.ini

    [GRP1]
    DW_TYPE = GLOBAL
    DW_MODE = AUTO
    DW_ERROR_TIME = 10
    INST_RECOVER_TIME = 60
    INST_ERROR_TIME = 10
    INST_OGUID = 453331
    INST_INI = /home/mss/dm8/data/DM01/dm.ini
    INST_AUTO_RESTART = 1
    INST_STARTUP_CMD = /home/mss/dm8/install/bin/dmserver
    RLOG_SEND_THRESHOLD = 0
    RLOG_APPLY_THRESHOLD = 0
    

    配置 node3 监视器:------------------------------------------------------------------

    cd /home/mss/dm8/data/DM01
    

    (1)新建dmmonitor.ini

    # 0表示普通监视器 ,最多配置8个,1 确认监视器模式
    MON_DW_CONFIRM = 1
    MON_LOG_PATH = /home/mss/dm8/install/log
    # 每隔 60s 定时记录系统信息到日志文件
    MON_LOG_INTERVAL = 60
    # 每个日志文件最大 32M
    MON_LOG_FILE_SIZE = 32
    # 不限定日志文件总占用空间
    MON_LOG_SPACE_LIMIT = 0[GRP1]
    #组 GRP1 的唯一OGUID 值
    MON_INST_OGUID = 453331
    ##dmmal.ini####MAL_HOST:MAL_DW_PORT###################
    MON_DW_IP = 192.168.162.221:65101
    MON_DW_IP = 192.168.162.222:65101
    
  7. **备份主机数据库 node1 **
    登录 node1 服务器

    su mss
    cd /home/mss/dm8/install/bin/
    # 初始化
    ./dmserver /home/mss/dm8/data/DM01/dm.ini #如果dmap没启动执行以下命令
    ./dmap#执行备份
    ./dmrman CTLSTMT="BACKUP DATABASE '/home/mss/dm8/data/DM01/dm.ini' FULL TO fullbak01 BACKUPSET '/home/mss/dm8/backup/fullbak01'"
    拷贝221备份文件到222
    scp -r /home/mss/dm8/backup mss@192.168.162.222:/home/mss/dm8/
    
  8. **在备份机还原数据库 node2 **
    登录 node2 服务器

    su mss
    cd /home/mss/dm8/install/bin/#如果dmap没启动执行以下命令
    ./dmap./dmrman CTLSTMT="RESTORE DATABASE '/home/mss/dm8/data/DM01/dm.ini' FROM BACKUPSET '/home/mss/dm8/backup/fullbak01'"
    ./dmrman CTLSTMT="RECOVER DATABASE '/home/mss/dm8/data/DM01/dm.ini' FROM BACKUPSET '/home/mss/dm8/backup/fullbak01'"
    ./dmrman CTLSTMT="RECOVER DATABASE '/home/mss/dm8/data/DM01/dm.ini' UPDATE DB_MAGIC"```
    
  9. 主机与备机分别以mount方式启动数据库
    在 node1、node2 分别执行以下命令

    cd /home/mss/dm8/install/bin/
    #如果dmap没启动执行以下命令
    ./dmap
    ./dmserver /home/mss/dm8/data/DM01/dm.ini  mount./disql
    SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
    SQL> SP_SET_OGUID(453331);
    SQL> ALTER DATABASE PRIMARY;
    SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
    
  10. 启动测试服务
    (1) node1 221 机器:

    cd /home/mss/dm8/install/bin/
    ./dmserver /home/mss/dm8/data/DM01/dm.ini  mount
    ./dmwatcher /home/mss/dm8/data/DM01/dmwatcher.ini
    

    在这里插入图片描述
    (2) node1 222 机器:

    cd /home/mss/dm8/install/bin/
    ./dmserver /home/mss/dm8/data/DM01/dm.ini  mount
    ./dmwatcher /home/mss/dm8/data/DM01/dmwatcher.ini
    

    (3) node3 223 机器:

    cd /home/mss/dm8/install/bin/
    ./dmmonitor /home/mss/dm8/data/DM01/dmmonitor.ini
    

    在这里插入图片描述

五、服务注册启动

  1. 进行服务注册

    切换 root 用户
    (1)node1 221 机器 实例一

    su root
    cd  /home/mss/dm8/install/script/root
    ./dm_service_installer.sh -p DMSERVER -t dmserver -dm_ini /home/mss/dm8/data/DM01/dm.ini 
    ./dm_service_installer.sh -p dmwatcher -t dmwatcher -watcher_ini  /home/mss/dm8/data/DM01/dmwatcher.ini
    

    (2)node2 222 机器 实例二

    su root
    cd  /home/mss/dm8/install/script/root
    ./dm_service_installer.sh -p DMSERVER -t dmserver -dm_ini /home/mss/dm8/data/DM01/dm.ini 
    ./dm_service_installer.sh -p dmwatcher -t dmwatcher -watcher_ini  /home/mss/dm8/data/DM01/dmwatcher.ini
    

    (3)node3 223 机器 监测

    su root
    cd  /home/mss/dm8/install/script/root
    ./dm_service_installer.sh -p dmmonitor  -t dmmonitor -monitor_ini   /home/mss/dm8/data/DM01/dmmonitor.ini
    
    //注释: 此命令为删除服务:./dm_service_uninstaller.sh -n DmServiceDMSERVER
    
  2. 启停数据库命令
    (1)node1 221 机器 实例一

    systemctl start DmServiceDMSERVER.service
    systemctl stop DmServiceDMSERVER.service
    systemctl restart DmServiceDMSERVER.service
    systemctl status DmServiceDMSERVER.service
    

    (2)node2 222 机器 实例二

    systemctl start DmServiceDMSERVER.service
    systemctl stop DmServiceDMSERVER.service
    systemctl restart DmServiceDMSERVER.service
    systemctl status DmServiceDMSERVER.service
    

    (3)node3 223 机器 监视器

    systemctl status DmMonitorServicedmmonitor.service
    systemctl start DmMonitorServicedmmonitor.service
    
  3. 连接数据库
    账户:SYSDBA
    密码:SYSDBA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/69460.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter:简单搞一个内容高亮

内容高亮并不陌生,特别是在搜索内容页面,可以说四处可见,就拿掘金这个应用而言,针对某一个关键字,我们搜索之后,与关键字相同的内容,则会高亮展示,如下图所示: 如上的效果…

完美解决Github提交PR后报错:File is not gofumpt-ed (gofumpt)

问题阐述 最近在Github上提交PR后,遇到了这么一个问题:golangci-lint运行失败,具体原因是File is not gofumpt-ed (gofumpt)。 名词解释 golangci-lint: golangci-lint 是Go语言社区中常用的代码质量检查工具,它可以…

C#,数值计算——抛物线插值与Brent方法(Parabolic Interpolation and Brent‘s Method)的计算方法与源程序

using System; namespace Legalsoft.Truffer { /// <summary> /// 抛物线插值与Brent方法 /// Parabolic Interpolation and Brents Method /// </summary> public class Brent : Bracketmethod { public double xmin { get; set…

数据统计与可视化的Dash应用程序

在数据分析和可视化领域&#xff0c;Dash是一个强大的工具&#xff0c;它结合了Python中的数据处理库&#xff08;如pandas&#xff09;和交互式可视化库&#xff08;如Plotly&#xff09;以及Web应用程序开发框架。本文将介绍如何使用Dash创建一个简单的数据统计和可视化应用程…

Mysql - 配置Mysql主从复制-keepalived高可用-读写分离集群

目录 高可用&#xff1a; 为什么需要高可用呢&#xff1f; 高可用的主要作用&#xff1a; keepalived是什么&#xff1f;它用在哪里&#xff1f; 什么是VRRP协议&#xff0c;它的作用是什么&#xff1f; 搭建一个基于keepalived的高可用Mysql主从复制读写分离集群 一、项…

HTML5的介绍和基本框架

目录 HTML5 HTML5介绍 HTML5的DOCTYPE声明 HTML5基本骨架 html标签 head标签 body标签 title标签 meta标签 在vscode中写出第一个小框架 HTML5 HTML5介绍 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.ht…

ubuntu网络管理

主机-ip&#xff0c;service—port 分别查看/etc/hosts&#xff0c;/etc/host.conf&#xff1b;/etc/services&#xff0c;/etc/resolv.conf&#xff1b; 内核更新——linux-image-generic 6.2.0-24.24 非常抱歉&#xff0c;我误解了你的问题。如果你想更新已安装的内核版本…

centos7安装erlang及rabbitMQ

下载前注意事项&#xff1a; 第一&#xff1a;自己的系统版本&#xff0c;centos中uname -a指令可以查看&#xff0c;el8&#xff0c;el7&#xff0c;rabbitMQ的包不一样&#xff01; 第二&#xff1a;根据rabbitMQ中erlang version找到想要下载rabbitMQ对应erlang版本&#x…

18----找出第一个只出现一次的字符(桶计数法/4种思路讲解)

题目描述 给定一个只包含小写字母的字符串&#xff0c;请你找到第一个仅出现一次的字符。如果没有&#xff0c;输出 no。 输入格式 一个字符串&#xff0c;长度小于 1100。 输出格式 输出第一个仅出现一次的字符&#xff0c;若没有则输出 no。 输入输出样例 输入 #1复制 abc 输…

Android Studio System.out.println()中文乱码

第一步&#xff1a; 打开studio64.exe.vmoptions加入-Dfile.encodingUTF-8 第二步&#xff1a; File-Settings-Editor-File Encodings 把所有的编码格式改为UTF-8 尝试跑一下代码&#xff0c;如果还不行&#xff0c;重启IDE 再试试。

Linux MQTT智能家居项目(LED界面的布局设置)

文章目录 前言一、LED界面布局准备工作二、LED界面布局三、逻辑实现总结 前言 上篇文章我们完成了主界面的布局设置那么这篇文章我们就来完成各个界面的布局设置吧。 一、LED界面布局准备工作 首先添加LED灯光控制的图标。 将选择好的LED图标添加进来&#xff1a; 图标可以…

Centos7完全卸载已安装的Nginx

查看服务器上安装的nginx版本号&#xff0c;主要是通过ngix的-v或-V选项 Linux下查看Nginx安装目录、版本号信息? -v 显示 nginx 的版本。 -V 显示 nginx 的版本&#xff0c;编译器版本和配置参数。 [rootwww ~]# /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.…