DM8一主一备一监听的搭建

一、使用root用户修改系统配置信息

1.1使用root用户调整操作系统参数

1.1.1调整sysctl.conf

vi /etc/sysctl.conf

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

vm.overcommit_memory = 1

vm.swappiness = 0

vm.dirty_background_ratio = 3

vm.dirty_ratio = 80

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

使用

sysctl -p

sysctl -p /etc/sysctl.conf

sysctl -q vm.swappiness

使其系统参数生效!!!

 

1.1.2调整limits.conf

vi /etc/security/limits.conf

*  soft  nice    0

*  hard  nice    0

*  soft  as      unlimited

*  hard  as      unlimited

*  soft  fsize   unlimited

*  hard  fsize   unlimited

*  soft  nproc   65536

*  hard  nproc   65536

*  soft  nofile  65536

*  hard  nofile  65536

*  soft  core    unlimited

*  hard  core    unlimited

*  soft  data    unlimited

*  hard  data    unlimited

vi /etc/security/limits.d/90-nproc.conf

*  soft  nproc  65536

vi /etc/profile

ulimit -SHn 65536

 

 

 

1.1.3调整login

vi /etc/pam.d/login

session  required  /lib64/security/pam_limits.so

session  required  pam_limits.so

 

1.1.4关闭selinux

vi /etc/sysconfig/selinux

SELINUX = disabled

重启reboot

 

1.2使用root用户创建用户和目录

1.2.1创建用户和组

groupadd -g 2001 dinstall

useradd -d /app/dmdba/  -g dinstall  -m dmdba -u 2001

chown -R dmdba:dinstall  /app/dmdba

passwd dmdba

 

1.2.2使用root用户创建目录及授权

mkdir -p /opt/dmdbms

mkdir -p /opt/dmsetup

mkdir -p /opt/dmsoft

chown -R dmdba.dinstall /opt/dmdbms

chmod 755 -R /opt/dmdbms

chown -R dmdba.dinstall /opt/dmsetup

chmod 755 -R /opt/dmsetup

chown -R dmdba.dinstall /opt/dmsoft

chmod 755 -R /opt/dmsoft

 

1.3 安装数据库

数据库版本路径:/opt/dmsetup

数据库安装路径/opt/dmdbms

1.3.1使用dmdba用户命令行装

如果在操作系统图形化页面则执行如下操作:

首先使用 root执行:

mount /opt/dmsoft/dm8_20211111_x86_rh6_64_ent_8.1.2.18_pack16.iso /opt/dmsetup

然后su到 dmdba 用户执行:

cd /opt/dmsetup

./DMInstall.bin -i

 

 

1.3.2.1使用root用户执行root_installer.sh脚本

/dm8/script/root/root_installer.sh

 

安装完毕!!!!

二、DM8数据库的卸载

    1. 使用dmdba用户命令行卸载DM8数据库

cd /opt/dmdbms/

./uninstall.sh -i

 

 

2.2.1使用root用户执行root_uninstaller.sh脚本

/opt/dmdbms/root_uninstaller.sh

卸载完毕!!!!

三、DM8安装部署集群

3.1使用dmdba用户配置A机器(10.9.N.113)

3.1.1使用dmdba用户初始化实例

页大小(PAGE_SIZE):32

日志大小(LOG_SIZE):2048

大小写(CASE_SENSITIVE)[Y:敏感 / N:不敏感]:敏感

字符集(CHARSET)[0:GB18030 / 1:UTF-8]:UTF-8

其它参数默认,如需更改其它参数,请参考《dminit使用手册》

使用dmdba用户执行:

-----初始化实例

cd /opt/dmdbms/bin

./dminit PATH=/opt/dmdbms/data/ INSTANCE_NAME=IRS_01 DB_NAME=IRS EXTENT_SIZE=32 CASE_SENSITIVE=N UNICODE_FLAG=1 PORT_NUM=10071 PAGE_SIZE=32 LOG_SIZE=2048

 

 

3.1.2使用dmdba用户启动前台实例服务

使用dmdba用户执行:

----前台启动数据库实例

cd /opt/dmdbms/bin

./dmserver /dm8/data/DM01/dm.ini

 

不要关闭窗口,直接在克隆一个shell窗口,执行以下内容:

cd /opt/dmdbms/bin

./disql SYSDBA/SYSDBA@10.9.20.113:10071

select * from dual;

exit;

 

3.1.3使用dmdba用户开启归档日志

使用dmdba用户执行:

mkdir -p /dm8/data/DM01//

cd /opt/dmdbms/bin

./disql SYSDBA/SYSDBA@10.9.20.N:10071

ALTER DATABASE MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/data/DM01//arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';

ALTER DATABASE OPEN;

exit;

3.1.4使用dmdba用户备份数据

使用dmdba用户执行:

cd /opt/dmdbms/bin

./disql SYSDBA/SYSDBA@10.9.N.113:10071

create table "SYSDBA"."SYSUSERPROFILES"

(

"UID" integer not null,

"PID" integer not null,

CLUSTER PRIMARY key("UID"));

create or replace public synonym "SYSUSERPROFILES" for  "SYSDBA"."SYSUSERPROFILES";

BACKUP DATABASE BACKUPSET '/dm8/data/DM01/bak/BACKUP_FILE';

exit;

 

3.1.5使用dmdba用户修改dm.ini

使用dmdba用户修改dm初始化参数:

cd /opt/dmdbms/bin

./disql SYSDBA/SYSDBA@10.9.N.113:10071

SP_SET_PARA_VALUE (2,'PORT_NUM',10071);

SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);

SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);

SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);

SP_SET_PARA_VALUE (2,'MAL_INI',1);

SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

exit;

 

3.1.6使用dmdba用户关闭前台实例服务

使用dmdba用户关闭前台启动的数据库实例:

直接在执行了/opt/dmdbms/data/DAMENG/dm.ini启动数据库实例页面上执行:

exit

 

关闭前台实例服务!!!

3.1.7使用dmdba用户替换dmarch.ini(归档日志进行互陪)

使用dmdba用户编辑dmarch.ini配置文件:

view /dm8/data/DM01/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dm8/data/DM01/arch  #本地归档存放路径

  ARCH_FILE_SIZE           = 1024  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 51200  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = DM02  #实时归档目标实例名(A机器配置B机器的实例)

 

 

3.1.8使用dmdba用户创建dmmal.ini

使用dmdba用户创建dmmal.ini配置文件:

vi /dm8/data/DM01/dmmal.ini

MAL_CHECK_INTERVAL         = 10  #MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL     = 10  #判定MAL链路断开的时间

MAL_TEMP_PATH              = /dm8/data/malpath/  #临时文件目录

MAL_BUF_SIZE               = 512  #单个MAL缓存大小,单位MB

MAL_SYS_BUF_SIZE           = 2048  #MAL总大小限制,单位MB

MAL_COMPRESS_LEVEL         = 0  #MAL消息压缩等级,0表示不压缩

[MAL_INST1]

  MAL_INST_NAME            = IRS_01  #实例名,和 dm.ini的INSTANCE_NAME一致

  MAL_HOST                 = 10.9.N.113  #MAL系统监听TCP连接的IP地址

  MAL_PORT                 = 5336  #MAL系统监听TCP连接的端口

  MAL_INST_HOST            = 10.9.N.113  #实例的对外服务IP地址

  MAL_INST_PORT            = 5236  #实例对外服务端口,和dm.ini的PORT_NUM一致

  MAL_DW_PORT              = 5436  #实例对应的守护进程监听TCP连接的端口

  MAL_INST_DW_PORT         = 5536  #实例监听守护进程TCP连接的端口

[MAL_INST2]

  MAL_INST_NAME            = IRS_02

  MAL_HOST                 = 10.9.N.114

  MAL_PORT                 = 5336

  MAL_INST_HOST            = 10.9.N.114

  MAL_INST_PORT            = 5236

  MAL_DW_PORT              = 5436

  MAL_INST_DW_PORT         = 5536

3.1.9使用dmdba用户创建dmwatcher.ini

使用dmdba用户关闭前台启动的数据库实例:

vi /dm8/data/DM01/dmwatcher.ini

[GDW1]

  DW_TYPE                  = GLOBAL  #全局守护类型

  DW_MODE                  = AUTO  #故障自动切换模式[严格注意]

  DW_ERROR_TIME            = 20  #远程守护进程故障认定时间

  INST_ERROR_TIME          = 20  #本地实例故障认定时间

  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间

  INST_OGUID               = 45331  #守护系统唯一OGUID值

  INST_INI                 = /dm8/data/DM01/dm.ini  #dm.ini文件路径

  INST_AUTO_RESTART        = 1  #打开实例的自动启动功能

  INST_STARTUP_CMD         = /dm8/bin/dmserver  #命令行方式启动

  RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭

  RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

3.1.10使用dmdba用户拷贝实例到B机器(10.9.N.114)

使用dmdba用户拷贝A机器的数据库实例到B机器上:

scp -P 1122 -r /opt/dmdbms/data dmdba@10.9.N.114:/opt/dmdbms/

3.1.11使用root用户注册DM8数据库服务

/dm8/script/root/dm_service_installer.sh -t dmserver -p IRS_01 -dm_ini /dm8/data/DM01/dm.ini -m mount

/dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DM01/dmwatcher.ini

3.1.12使用root用户查看注册数据库服务状态

systemctl status DmServiceIRS_01.service

systemctl status DmWatcherServiceWatcher.service

 

3.1.13使用root用户删除DM8数据库服务

/dm8/script/root/dm_service_uninstaller.sh -n DmServiceIRS_01

/dm8/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher

 

3.2使用dmdba用户配置B机器(10.9.N.114)

3.2.1使用dmdba用户修改dm.ini参数文件

使用dmdba用户编辑dm.ini配置文件:修改实例名

view /dm8/data/DM01/dm.ini

INSTANCE_NAME              = IRS_02  #数据库实例名

 

3.2.2使用dmdba用户替换dmarch.ini(归档日志进行互陪)

使用dmdba用户编辑dmarch.ini配置文件:

view /dm8/data/DM01/dmarch.ini

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /dm8/data/DM01//arch  #本地归档存放路径

  ARCH_FILE_SIZE           = 1024  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 51200  #归档上限,单位MB

[ARCHIVE_REALTIME]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = DMSVR01  #实时归档目标实例名(B机器配置A机器的实例)

3.2.3使用root用户注册DM8数据库服务

/dm8/script/root/dm_service_installer.sh -t dmserver -p IRS_02 -dm_ini /dm8/data/DM01/dm.ini -m mount

/dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DM01/dmwatcher.ini

 

3.2.4使用root用户查看注册数据库服务状态

systemctl status DmServiceIRS_02.service

systemctl status DmWatcherServiceWatcher.service

 

3.2.5使用root用户删除DM8数据库服务

/dm8/script/root/dm_service_uninstaller.sh -n DmServiceIRS_02

/dm8/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Docker 搭建 DM8 实时主备,可以按照以下步骤进行: 1. 安装 Docker 和 Docker Compose 首先需要安装 Docker 和 Docker Compose,可以参考 Docker 官方文档进行安装。 2. 下载 DM8 镜像文件 可以从 DM 官网下载 DM8 镜像文件,也可以使用以下命令从 Docker Hub 上下载: ``` docker pull pingcap/dm:latest ``` 3. 创建 DM8 配置文件 在本地创建一个名为 `dm-master.yaml` 的文件,用于配置 DM8 的主节点。以下是一个示例配置文件: ```yaml master-addr: 172.20.0.2:8261 name: master1 data-dir: /home/data/master1 log-file: /home/logs/master1.log log-level: "info" discovery-mode: "static" static-nodes: - 172.20.0.2:8291 - 172.20.0.3:8291 - 172.20.0.4:8291 web-port: 8281 ``` 其中,`master-addr` 表示当前节点的地址和端口号,`name` 是节点的名称,`data-dir` 是数据存储的目录,`log-file` 是日志文件的路径,`log-level` 是日志级别。 `discovery-mode` 表示节点发现的模式,这里使用静态模式,`static-nodes` 是静态模式下所有节点的地址和端口号。 `web-port` 是 DM8 的 Web 界面端口号。 在本地创建一个名为 `dm-worker.yaml` 的文件,用于配置 DM8 的工作节点。以下是一个示例配置文件: ```yaml name: worker1 data-dir: /home/data/worker1 log-file: /home/logs/worker1.log log-level: "info" server-id: 101 relay-dir: /home/relay_log meta: case-sensitive: true worker-addr: 172.20.0.2:8262 master-addr: 172.20.0.2:8261 relay-binlog-name: mysql-binlog relay-binlog-gtid: "" source-id: "mysql-replica-01" from: host: "172.20.0.5" user: "root" password: "password" routes: route-rule-1: schema-pattern: "test" target-schema: "test" target-instance: "mysql-replica-02" enable-sharding: false ``` 其中,`name` 是节点的名称,`data-dir` 是数据存储的目录,`log-file` 是日志文件的路径,`log-level` 是日志级别。 `server-id` 是工作节点的 ID,`relay-dir` 是中继日志的存储路径。 `worker-addr` 是当前节点的地址和端口号,`master-addr` 是主节点的地址和端口号。 `relay-binlog-name` 是指定中继日志的文件名,`relay-binlog-gtid` 是中继日志的 GTID。 `source-id` 是源实例的 ID,`from` 是源实例的连接信息。 `routes` 是数据路由的配置,这里只配置了一个路由规则,将 `test` 库的数据路由到名为 `mysql-replica-02` 的实例中。 4. 创建 Docker Compose 配置文件 在本地创建一个名为 `docker-compose.yaml` 的文件,用于启动 DM8 的主节点和工作节点。以下是一个示例配置文件: ```yaml version: "3.7" services: dm-master: image: pingcap/dm:latest container_name: dm-master volumes: - ./dm-master.yaml:/etc/dm-master/dm-master.yaml ports: - "8261:8261" - "8281:8281" dm-worker: image: pingcap/dm:latest container_name: dm-worker volumes: - ./dm-worker.yaml:/etc/dm-worker/dm-worker.yaml depends_on: - dm-master ports: - "8262:8262" ``` 其中,`dm-master` 是 DM8 主节点的容器,`dm-worker` 是 DM8 工作节点的容器。`volumes` 挂载了之前创建的两个 YAML 配置文件,`ports` 映射了节点的端口号。 5. 启动 Docker Compose 在命令行中执行以下命令,启动 Docker Compose: ``` docker-compose up -d ``` 6. 验证 DM8 实时主备 使用浏览器访问 `http://localhost:8281`,可以查看 DM8 的 Web 界面。在界面上可以查看主备节点的状态,以及数据同步的情况。可以在主节点上进行写入操作,验证数据同步是否正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值