linux mpp集群环境,Linux环境下,DM8-MPP两节点集群搭建
目录
1.主备库,监视器信息部署
2.初始化数据库实例
3.启停数据库
4.数据库备份与还原
5.检查、修改和创建配置文件
6.启动数据库,修改数据库模式和OGUID
8.配置守护进程
9.配置监视器
10.启动守护进程
11.启动监视器
1.主备库,监视器信息部署
(1)主库
实例名
存放路径
端口号
所在机器
对应备库
OGUID
ip
GRP1_MPP_EP01
/home/dmdba/dmdbms/data
5236
CenOS7_1
GRP1_MPP_EP11
45330
192.168.75.131
GRP2_MPP_EP02
/home/dmdba/dmdbms/data
5236
CenOS7_2
GRP2_MPP_EP22
45331
192.168.75.130
(2)备库
实例名
存放路径
端口号
所在机器
对应主库
OGUID
ip
GRP1_MPP_EP11
/home/dmdba/dmdbms/data
5237
CenOS7_2
GRP1_MPP_EP01
45330
192.168.75.130
GRP2_MPP_EP22
/home/dmdba/dmdbms/data
5237
CenOS7_1
GRP2_MPP_EP02
45331
192.168.75.131
(3)监视器
实例名
存放路径
端口号
所在机器
ip
GRP_MPP_Monitor
/home/dmdba/dmdbms/data
5236
CenOS7_3
192.168.75.132
2.初始化数据库实例
按照上面的参数设置,初始化四个数据库实例,主库两个,备库两个,示例如下:
./dminit path=/home/dmdba/dmdbms/data db_name=GRP2_MPP_EP22 instance_name=GRP2_MPP_EP22 port_num=5237
3.启停数据库
前台启动方式,启停上面初始化的数据库,示例如下:
./dmserver /home/dmdba/dmdbms/data/GRP1_MPP_EP01/dm.ini
4.数据库备份与还原
为了同步各数据库的数据,确保各数据保持完全一致。这里需对主库进行备份操作,备库进行恢复、还原操作。
方法:使用DMRMAN工具,备份主库上面的数据,将备份集传输到备库上,同样使用DMRMAN工具进行数据还原、恢复、更新,示例:
主库备份示例:
./dmrman ctlstmt="backup database '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/dm.ini' to db_bk backupset '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/db_bk'"
备库还原、恢复、更新魔数示例:
还原:./dmrman ctlstmt="restore database '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/dm.ini' from backupset '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/db_back'"
恢复:./dmrman ctlstmt="recover database '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/dm.ini' from backupset '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/db_back'"
更新:./dmrman ctlstmt="recover database '/home/dmdba/dmdbms/data/GRP2_MPP_EP02/dm.ini' update db_magic"
5.检查、修改和创建配置文件
(1)dm.ini
以主库GRP1_MPP_EP01为例,修改dm.ini文件,其他库需要修改的地方已标红
参数
值
INSTANCE_NAME
GRP1_MPP_EP01
PORT_NUM
5236
ALTER_MODE_STATUS
0
ENABLE_OFFLINE_TS
2
MAL_INI
1
ARCH_INI
1
MPP_INI
1
(2)dmmal.ini
创建MAL系统配置文件dmmal.ini,并添加信息(各主备库的dmmal.ini文件必须完全一致,其他库不用修改)
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_MPP_EP01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.75.131 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5337 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.1.131 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5253 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 5243 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP2_MPP_EP02
MAL_HOST = 192.168.75.136
MAL_PORT = 5337
MAL_INST_HOST = 192.168.1.132
MAL_INST_PORT = 5236
MAL_DW_PORT = 5253
MAL_INST_DW_PORT = 5243
[MAL_INST3]
MAL_INST_NAME = GRP1_MPP_EP11
MAL_HOST = 192.168.75.136
MAL_PORT = 5338
MAL_INST_HOST = 192.168.1.132
MAL_INST_PORT = 5237
MAL_DW_PORT = 5254
MAL_INST_DW_PORT = 5244
[MAL_INST4]
MAL_INST_NAME = GRP2_MPP_EP22
MAL_HOST = 192.168.75.131
MAL_PORT = 5338
MAL_INST_HOST = 192.168.1.131
MAL_INST_PORT = 5237
MAL_DW_PORT = 5254
MAL_INST_DW_PORT = 5244
(3)dmarch.ini
创建归档文件dmarch.ini,并添加内容(实时归档)-其他库需要修改的内容:REALTIME1:ARCH_DEST=远程备库实例名;
LOCAL1:ARCH_DEST=当前库的本地归档路径
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_MPP_EP11 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /home/dmdba/dmdbms/data/GRP1_MPP_EP01/arch_mpp #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
(4)dmmpp.ini
创建MPP配置文件dmmpp.ini,添加内容,并使用转换工具dmctlcvt转换为dmmpp.ctl控制文件(其他库不用修改,直接拷贝)。
示例:
[service_name1]
mpp_seq_no = 0
mpp_inst_name = GRP1_MPP_EP01
[service_name2]
mpp_seq_no = 1
mpp_inst_name = GRP2_MPP_EP02
文件转换命令:
./dmctlcvt type=2 src=/home/dmdba/dmdbms/data/GRP2_MPP_EP02/dmmpp.ini dest=/home/dmdba/dmdbms/data/GRP2_MPP_EP02/dmmpp.ctl
6.启动数据库,修改数据库模式和OGUID
注:同一守护组的OGUID保持一致,数据库模式:主库-primary;备库-standby
启动方式:mount
修改命令示例:
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(45330);
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
8.配置守护进程
因为在本次演示的例子中,每台机器上有两个实例,所以,配置一个守护进程,同时守护两个实例即可,创建dmwatcher.ini文件添加内容:注意修改:OGUID:INST_OGUID以及配置文件路径:INST_INI
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 45330 #守护系统唯一 OGUID 值
INST_INI = /home/dmdba/dmdbms/data/GRP1_MPP_EP01/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭
[GRP2]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /home/dmdba/dmdbms/data/GRP2_MPP_EP22/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭
9.配置监视器
创建监视器配置文件dmmonitor.ini(监视器类型:确认监视器-发生故障,自动接管),示例:
MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /home/dmdba/dmdbms/data/GRP2_MPP_EP02/mon_log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 45330 #组 GRP1 的唯一 OGUID 值 #以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.75.131:5253
MON_DW_IP = 192.168.75.136:5254
[GRP2]
MON_INST_OGUID = 45331 #组 GRP2 的唯一 OGUID 值 #以下配置为监视器到组 GRP2 的守护进程的连接信息,以―IP:PORT‖的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.75.136:5253
MON_DW_IP = 192.168.75.131:5254
10.启动守护进程
示例:
./dmwatcher /home/dmdba/dmdbms/data/GRP1_MPP_EP01/dmwatcher.ini
11.启动监视器
示例:
./dmmonitor /home/dmdba/dmdbms/data/GRP2_MPP_EP02/dmmonitor.ini
至此MPP实时主备搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行show命令,可以监控到所有实例都处于Open状态,所有守护进程也都处于Open状态,即为正常运行状态。
相关文章:

线性代数 2021-2022-1 考试要点
1、线性方程组解的判定、解的结构与求解; 2、矩阵秩的相关性质; 3、矩阵、分块矩阵的运算; 4、行列式的运算; 5、矩阵方程的求解; 6、向量空间(RnR^nRn空间,多项式空间,矩阵空间…

JavaServer Faces技术
一、JSF是构建Java Web程序的服务器端的组件框架,包括: 1)一个API,用来表示组件及管理他们的状态;处理事件;服务器端;数据转换;定义页面导航;支持国际化和可访问性&#…

Ubuntu安装Anaconda
安装Anaconda的最简单方法是下载最新的Anaconda安装程序bash脚本,然后运行它。 在Anaconda Downloads页面找到最新版本的Anaconda for Python 3 。当前最新版本为5.1.0。 切换到/tmp服务器上的目录 cd /tmp 在运行它之后可以删除掉。 使用wget命令下载anaconda安装包…

linux制作共享服务器,Linux如何制作一个简单的共享服务器
Linux下打开一个终端,cd 到某一个目录下,输入“ python -m SimpleHTTPServer ”,就可以将当前目录下的内容分享出去,如下:linuxidc www.linuxidc.com:~$ cd VideoSpace/linuxidc www.linuxidc.com:~/VideoSpace$ pytho…

报表应用系列——图表JFreeChart: 第 4 章 折线图
双击代码全选12345DefaultCategoryDataset dataset new DefaultCategoryDataset(); dataset.addValue(100, "Jan", "Spring Security"); dataset.addValue(150, "Jan", "jBPM 4"); dataset.addValue(300, "Jan&qu…

中国电子学会青少年编程能力等级测试图形化四级编程题:小猴数草莓
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

python_day16_pythom-mysql-API
16、py_mysql操作 pymysql 是python中操作mysql的模块,其使用方法和py2的mysqldb几乎相同 16.1、pymysql模块安装 1. pip install pymysql 16.2、使用 16.2.1、导入模块 import pymysql connpymysql.connect(host127.0.0.1,port3306,userroot,passwdxiong,dbs1) #…

linux打开 root .m2,小辣椒M2 (LA-M2)获取ROOT权限教程,新手root必看
小辣椒M2 (LA-M2)如何获取ROOT权限?用什么ROOT工具最简单?请跟着小编一起来看看如何用奇兔刷机对小辣椒M2 (LA-M2)进行一键ROOT,小编特别亲手制作了详细的小辣椒M2 (LA-M2) ROOT教程图解,非常适合初次接触ROOT的朋友,具体步骤如下ÿ…

C++中typedef和define的区别
typedef和#define的用法与区别 一、typedef的用法 在C/C语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT;typedef int …

SVN 钩子操作-同步更新web目录
一个简单的钩子演示:也可以网上搜索其他高级的 本次想要达到的功能是:每次用户commit 到仓库后,仓库的钩子会自动把程序又更新的www/的web发布目录 1.现在web目录下创建一个test.com网站目录 [rootwentao13 ~]# cd /var/www/html/ [rootwenta…

【组队学习】【32期】深入理解计算机系统
深入理解计算机系统 航路开辟者:李岳昆、易远哲领航员:初晓宇航海士:叶前坤、沈豪 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/ComputerSystems内容属性:公测课程内容…

linux中怎么退出执行过程,(进程)处理过程中的Linux:从执行到退出
Linux是一个多任务操作系统,表面上看,同时运行许多任务——即进程。每一个进程都在系统中留下足迹。这里介绍一些检查这些足迹的工具,并且还要说明蔓延的/proc目录到底是什么。欢迎归来。上周我们考察Linux调度程序如何区分要运行的进程的优先…

git - 简易指南
http://www.bootcss.com/p/git-guide/转载于:https://www.cnblogs.com/passer1991/p/3279333.html

python爬虫 智联招聘 工作地点
需求:智联上找工作的时候,工作地点在搜索页面只能看到城市-区。看不到具体的地址。(离家近的工作肯定优先考虑)思路:爬取搜索页面(页面一)然后进去其中一个内页,再爬工作地点&#x…

2021-2022-1 线性代数知识点总结的视频
01 线性方程组02 矩阵及其运算03 向量空间(上)03 向量空间(下)04 特征值与特征向量05 实对称矩阵与二次型2021 线性代数 第三章 习题课2021 线性代数 第四章 习题课2021-2022-1 线性代数考试要点2021-2022-1 线性代数知识点总结 …

win使用linux共享打印机,Ubuntu 12.04以及 Window 下使用共享打印机
目前针对各个办公室里面都已经配置打印机了,为了节约资源,该打印机想必已经被网管设置成了共享,然而我们应该如何进行使用呢?笔者目前常用的系统是Ubuntu 12.04,偶尔想打印东西的不想切换到XP系统下,就此简单介绍下如何…

poj3280Cheapest Palindrome(记忆化)
链接 真的1A了。。 一开始想复杂了 想着补全再删 没想好 后来想到递归 大的回文串是由小的推过来的 一直递归下去 对于当前的i,j可以选择保留或者删除 选个最小的 1 #include <iostream>2 #include<cstring>3 #include<algorithm>4 #include<…

【组队学习】【32期】推荐系统-新闻推荐系统实践
推荐系统-新闻推荐系统实践 航路开辟者:罗如意领航员:肖桐航海士:汪志鸿、吴忠强、赖敏材、王辰玥、毛伟、宋禹成、陈雨龙、管柯琴 基本信息 开源内容:https://github.com/datawhalechina/fun-rec内容属性:公测课程…

Redis配置到本地以及可视化工具的安装运用
配置到本地出错: 解决方法: 1、先把原来的服务删除了 2、在重新配置服务。 真的,我就是这样的。。 转载于:https://www.cnblogs.com/stujike/p/8672165.html

linux消息通信无法接收,进程间通信:消息队列有关问题:进程1接收不到进程2的消息...
进程间通信:消息队列有关问题:进程1接收不到进程2的消息进程间通信:消息队列有关问题:进程1接收不到进程2的消息日期:2014-05-16 浏览次数:20365 次进程间通信:消息队列问题:进程1…

java听课笔记(四)
程序流程控制 分支 顺序 循环 if switch&case 1 2 3 调整 break 1.6 前 switch(byte、short、char、int) 1.7 可放String 循环 while(次数不确定) do while for(确定次数) break(跳出本层循环) continu…

【组队学习】【32期】scikit-learn教程
scikit-learn教程 航路开辟者:江季领航员:李牧轩航海士:武帅、陈宇 基本信息 开源内容::https://github.com/datawhalechina/machine-learning-toy-code/tree/main/ml-with-sklearn内容属性:公测课程内容…

css一个很好用的hover显示
之前一直想在样式实现,hover时显示其他div,今天终于找到了,(*^▽^*).a悬停时显示.b.a:hover .b {display: block;}转载于:https://www.cnblogs.com/HCXiao/p/8677713.html

c语言输入函数有什么作用,c语言的输入函数有哪些
c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数。【相关学习推荐:C…

dubbo学习过程、使用经验分享及实现原理简单介绍
一、前言部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下。整理这篇文章差不多花了两天半时间…

AutoIt脚本在做自动化操作的时候,如何进行错误捕获?
我的自动化脚本在运行的时候,会生成一个界面,点击该页面上的按钮能够进行自动化操作。 经常遇到的一个问题是: 脚本运行一半,GUI程序出现了异常情况,这个时候,再次点击生成的界面上的按钮,不会有…

中国电子学会青少年编程能力等级测试图形化四级编程题:计算生肖
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

用c语言写一个两线程程序,如何用C语言实现多线程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Windows操作系统,C语言实现多线程:#include #include DWORD APIENTRY ThreadOne ( LPVOID threadArg ){printf ( "线程开始啦,参数是:%s\n" , (char *)threadArg );return …

中国电子学会青少年编程能力等级测试图形化四级编程题:抽奖
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…
github README.md教程
github README.md教程 总结 github中README.md通过特殊字符标记和缩进来达到格式控制,也可以用HTML标签来实现格式控制。 教程一: Markdown 的目标是实现「易读易写」,兼容HTML。 但是,在 HTML 区块标签间的 Markdown 格式语法将不…