本示例中数据守护进程组名为"GRP1" ,配置为实时主备,主库实例名为"NODE1" ,备库实例名为"NODE2"。
集群配置环境说明:
如果服务器上面有多个网卡,服务ip和心跳ip可以使用不同的网卡ip,这里只有一个网卡,就是使用相同的ip进行测试使用。
主备角色
服务ip
心跳ip(MAL_HOST)
实例名
实例端口
主库
192.168.58.30
192.168.58.30
NODE1
5236
备库
192.168.58.31
192.168.58.31
NODE2
5236
监视器
192.168.58.32
端口规划:
实例名
PORT_NUM
MAL_INST_DW_ PORT
MAL_HOST
MAL_PORT
MAL_DW_ PORT
NODE1
5236
5237
192.168.58.30
5238
5239
NODE2
5236
5237
192.168.58.31
5238
5239
端口说明:
- PORT_NUM:数据库实例监听端口。
- MAL_INST_DW_ PORT:实例对守护进程的监听端口,守护进程使用 MAL_HOST + MAL_INST_DW_PORT 创建到实例的 TCP连接。
- MAL_PORT:MAL系统监听TCP连接的端口。
- MAL_DW_ PORT:守护进程监听端口,其他守护进程或监视器使用 MAL_HOST + MAL_DW_ PORT创建 TCP 连 接。监视器配置文件 dmmonitor.ini 中,MON_DW_ IP 就是一组 MAL_HOST: MAL_DW_PORT。
MAL系统是基于 TCP 协议实现的一种内部通信机制,DM通过 MAL系统实现 Redo日志传输, 以及其他一 些实例间的消息通讯。
守护进程 (dmwatcher ) 是数据库实例和监视器之间信息流转的桥梁。数据库实例向本地守护进程发送信息, 接收本地守护进程的消息和命令;
监视器 (dmmonitor) 接收守护进程的消息,并向守护进程发送命令;数据库实例与监视器之间没有直接的消 息交互;
守护进程解析并执行监视器发起的各种命令 (Switchover/Takeover/Open force 等) ,并在必要时通知数据库实例执行相应的操作。
详情请参考官方文档:https://eco.dameng.com/document/dm/zh-cn/ops/before-installation.html
1、创建达梦数据库对应的用户和组
注意:安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
2、创建达梦数据库安装目录
3、调整系统资源限制
查看dmdba用户的系统资源情况:
官方建议:
到root用户下配置资源限制,在/etc/security/limits.conf文件中追加下面的内容:
配置完成之后,到dmdba用户下查看资源限制
选择好自己的cpu平台和操作系统版本,开放版这里没有银河麒麟v10,选择redhat7代替
root用户操作:
挂载iso镜像:
注意:如果/tmp 目录不能保证 2GB 的存储空间,在安装达梦数据库的时候会报错,用户可以扩展/tmp 目录存储空间或者通过设置环境变量 DM_INSTALL_TMPDIR 指定安装程序的临时目录。具体操作如下所示:
1、切换到dmdba用户下:su - dmdba
2、在环境变量文件中追加配置:vim ~/.bash_profile
追加内容为:export DM_INSTALL_TMPDIR=/dm8/dmtmp
(/dm8/dmtmp这个目录确保有2g的空间,并且dmdba用户有权限操作该目录)
3、加载环境变量,让它生效:source ~/.bash_profile
根据实际情况去配置:
根据上面执行结果的要求,新开一个窗口登录root用户执行上述root_installer.sh脚本注册数据库服务:
到这里,dm8软件就安装完成了
按实际需要初始化实例:
本例只指定数据库存放路径、DB_NAME、INSTANCE_NAME,页大小为32k,其它参数使用默认值。
集群中所有节点dmmal.ini文件内容必须一致。
主库配置就行,备库不需要配置
配置监视器,一般选择主备库以外的其他机器,安装了达梦服务端的即可),其中 MON_DW_IP中的IP和PORT和dmmal.ini中的MAL_HOST和MAL_DW_PORT配置项保持一致。
注意:
一定要以 Mount 方式启动数据库实例,否则系统启动时会重构回滚表空间, 生成 Redo 日志;并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。数据守护配置结束后,守护进程会自动 Open 数据库。
启动数据守护进程:
查看数据库状态:先执行完下面备库的守护进程启动命令再查看
启动数据守护进程:
查看数据库状态:
启动监视器:查看主备集群运行情况:
异步备机数据并不是实时同步(定时器配置文件 dmtimer.ini ),可以配置2-3分钟触发。如果间隔时间比较长,那么我们在主库操作时,可以通过监视器,手动指定异步备库重演到当前时间,这样备库就可以查到数据了。
如果上面的操作都没有什么问题,主备集群状态都正常,按照顺序关闭监视器、备库数据守护进程、主库数据守护进程、主库实例、备库实例。
注册数据守护进程服务:
需要root用户登录注册服务:
注册数据守护进程服务:
将守护进程注册为服务(数据库会由数据守护自动拉起),需要root用户登录注册服务:
将确认监视器注册为服务:
root用户登录注册服务。
创建非确认监视器用于管理:
启动确认监视器:
启动非确认监视器查看主备运行情况:
dm_svc.conf配置文件,Windows平台下位于%SystemRoot%system32目录中,Linux平台下位于/etc目录。
参数说明:
- LOGIN_MODE:指定优先登录的服务器模式。0:优先连接 Primary 模式的库,Normal 模式次之, 最后选择 Stantby 模式;1:只连接主库;2:只连接备库;3:优先连接 Standby 模式的库,Primary 模式次之,最后选择Normal模式;4:优先连接Normal模式的库,Primary 模式次之,最后选择 Standby 模式。默认值为 4。
- SWITCH_TIME:检测到数据库实例故障时,接口在服务器之间切换的次数;超过设置次数没有连接到有效数据库时,断开连接并报错。有效值范围 1~,默认值为 3。
- SWITCH_INTERVAL:表示在服务器之间切换的时间间隔 ,单位为毫秒,默认值为 200,有效值范围是1~。
测试:
测试:
大家想学习达梦数据库或者解决报错问题,可以去达梦数据库社区地址(https://eco.dameng.com)
制作不易,各位看官如果觉得还可以,对您有帮助,请给小弟一键三连鼓励一下,后续还会继续保持
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/46466.html