KingbaseES的standby搭建
KingbaseES数据库部署及双机热备配置
Dataguard双机热备部署
注:配置期间使用数据库的属主用户进行操作
1.1 数据一致性准备
(1)修改数据库的配置文件参数:(2阶段初始化的数据库实例)
创建在归档日志存放目录(需要根据机器的存储空间进行创建,空间大于100GB):
mkdir
/datas_local/archive
vim
/DBDATA/data/kingbase.conf
打开归档:
log_archive_start
= on
log_archive_dest = '/datas_local/archive' --目录根据操作系统服务器存储设置
备机只读设置:
hot_standby=on
wal_level='hot_standby'
使用kingbase用户操作
1、将从机指定数据目录下的(/DBDATA)data目录删除;
2、将主机指定数据目录下的(/DBDATA)data目录打包压缩:tar –czvf data.tbz data
3、将主机指定数据目录下的(/home/kingbase/KingbaseES)的data.tbz复制到从机指定路径下(/DBDATA)。
主机IP:10.150.73.182 从机IP:10.150.73.187
4、 在从机上指定目录(/DBDATA)解压数据文件data.tbz,生成本地数据目录:tar
-xzvf data.tbz;
(2) 增加ifconfig文件的SUID和SGID,使普通用户运行ifconfig时暂时具备root权限。
chmod u+s /sbin/ifconfig
chmod g+s /sbin/ifconfig
1.2 Dataguard配置文件准备
1、先配置主机,再配置从机;
将/home/kingbase/KingbaseES/bin/template/standby.conf分别拷贝到主备数据库安装目录的config下,并进行修改;
A机外网IP:10.150.73.182
A机私网IP:10.10.10.1
B机外网IP:10.150.73.187
B机私网IP:10.10.10.2
浮动ip:10.150.73.189
主机OS配置:
Dataguard和kingbase运行在普通用户模式下,普通用户没有设置和删除IP的权限,IP浮动过程中,需要设置和删除IP,因此,如果需要浮动IP功能,需要增加普通用户设置和删除IP的权限。方法示例:
增加ifconfig文件的SUID和SGID,使普通用户运行ifconfig时暂时具备root权限,使用root用户执行:
chmod u+s /sbin/ifconfig
chmod g+s /sbin/ifconfig
注:IP地址随环境准备配置
主机
[standby]
managed = false
is_debug = false
log_timestamp = true
local_server_port = 54322
remote_server_ip = 10.10.10.2
remote_server_port =
54322
log_dir =
'/home/kingbase/KingbaseES/log'
standby_log =
"standby-%w.log"
server_mode = 'primary'
kingbase_fault_num =
0
enable_float_ip = true
floatip_readonly_addcmd
= '/sbin/ifconfig
eth0:0 10.150.73.188/24'
floatip_readonly_delcmd
= '/sbin/ifconfig
eth0:0 down'
floatip_readwrite_addcmd
= '/sbin/ifconfig
eth0:0 10.150.73.189/24'
floatip_readwrite_delcmd
= '/sbin/ifconfig
eth0:0 down'
[kingbase]
managed = false
lifecheck_interval =
2
kingbase_log =
"kingbase-%w.log"
bin_dir =
'/home/kingbase/KingbaseES/bin'
data_dir = '/DBDATA/data'
log_archive_dest = '/datas_local/archive'
primary_conninfo = 'host=10.10.10.2 port=54321'
parallel_recover_threads =
1
local_kingbase_cmdport =
54323
protection_mode
= maxprotection --同步模式(maxperformance异步模式)
send_taillog = true
retrytimes = 0
[network]
managed = true
startlevel = 99
stoplevel = 0
checkalive = 'touch
/DBDATA/kingbase/kingbase.txt && ping -c 1 -w 1 10.150.73.190
1>/dev/null 2>/dev/null'
checkinterval = 5
checkfails = 3
hotstandby = false
startcmd = ""
stopcmd = ""
needswitch = true
retrytimes = 0
retrycmd = ""
[klogminer]
managed = false
startlevel = 99
stoplevel = 0
checkalive = "kdb_logminerd
status"
checkinterval = 3
checkfails = 1
hotstandby = false
startcmd = "kdb_logminerd
start $MODE$"
stopcmd = "kdb_logminerd
stop $PID$"
needswitch = true
retrytimes = 0
retrycmd = "kdb_logminerd
restart $FAILEDTIMES$"
备机
[standby]
managed = false
is_debug = false
log_timestamp = true
local_server_port = 54322
remote_server_ip = 10.10.10.1
remote_server_port =
54322
log_dir =
'/home/kingbase/KingbaseES/log'
standby_log =
"standby-%w.log"
server_mode = 'standby'
kingbase_fault_num =
0
enable_float_ip = true
floatip_readonly_addcmd
= '/sbin/ifconfig
eth0:0 10.150.73.188/24'
floatip_readonly_delcmd
= '/sbin/ifconfig
eth0:0 down'
floatip_readwrite_addcmd
= '/sbin/ifconfig
eth0:0 10.150.73.189/24'
floatip_readwrite_delcmd
= '/sbin/ifconfig
eth0:0 down'
[kingbase]
managed = false
lifecheck_interval =
2
kingbase_log =
"kingbase-%w.log"
bin_dir =
'/home/kingbase/KingbaseES/bin'
data_dir = '/DBDATA/data'
log_archive_dest = '/datas_local/archive'
primary_conninfo = 'host=10.10.10.1 port=54321'
parallel_recover_threads =
1
local_kingbase_cmdport =
54323
protection_mode = maxprotection
send_taillog = true
retrytimes = 0
[network]
managed = true
startlevel = 99
stoplevel = 0
checkalive = ' touch
/DBDATA/kingbase/kingbase.txt && ping -c 1 -w 1 10.150.73.190
1>/dev/null 2>/dev/null '
checkinterval = 5
checkfails = 3
hotstandby = false
startcmd = ""
stopcmd = ""
needswitch = true
retrytimes = 0
retrycmd = ""
[klogminer]
managed = false
startlevel = 99
stoplevel = 0
checkalive = "kdb_logminerd
status"
checkinterval = 3
checkfails = 1
hotstandby = false
startcmd = "kdb_logminerd
start $MODE$"
stopcmd = "kdb_logminerd
stop $PID$"
needswitch = true
retrytimes = 0
retrycmd = "kdb_logminerd
restart $FAILEDTIMES$"
Dataguard双机集群启动
上述配置工作完成之后,首次启动standby服务,需要先启动主机standby控制器,然后再启动从机standby控制器;
使用kingbase用户进入目录/home/kingbase/KingbaseES/bin设置双机管理用户名\密码:
./standby –UKLS –WKLS ——主备机都需要进行设置
使用root用户将/home/kingbase/KingbaseES/bin/standby7d文件拷贝到主备机的/etc/init.d文件夹下;
先启动主机:
使用root用户:/etc/init.d/standby7d start
启动备机:/etc/init.d/standby7d start
istandby登陆:
./istandby
–UKLS –WKLS
查看standby状态:get all status
停止控制器监听:stop listener
切换主从状态:swich over
如果配置正确,主从机网络正常。启动主从机standby后,主从机自动识别各自模式状态:主机为primary,从机为standby,通过客户端连接主机数据库,可以连接成功正常访问,
客户端连接从机数据库,不能正常访问,提示“处于standby模式的数据库系统不能接受连接”。
Dataguard观察器
观察器配置部署(主备机都需要配置并启动)
cd /home/kingbase/KingbaseES/config
vim
observer.conf
[observer]
server_ip_1 =
'10.150.73.182' ----外网的IP地址
server_ip_2 = '10.150.73.187'
server_port_1 = 54322
server_port_2 = 54322
server_timeout = 10
network_timeout = 10
log_directory =
'/home/kingbase/KingbaseES/observer.log'
query_interval = 1
TCP = 54324
启动观察器:
./observer &
本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1618572
KingbaseES的standby搭建的更多相关文章
- Oracle DataGuard 物理Standby 搭建(上)
物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...
- DataGuard相同SID物理Standby搭建
Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...
- Oracle DataGuard 物理Standby 搭建(下)
主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUAR ...
- KingbaseES的HA搭建
1.配置资源前准备: 安装好数据库并保持两台机器用户ID及组ID一致,组ID和用户ID在/etc/passwd查看,如不保持一致,可能导致切机时阵列的属主改变,导致数据库无法启动. 建议用法,现在两台 ...
- postgresql 异步流复制hot standby搭建
先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上 一.主库上的操作: 1.添加同步访问规则: host replication dbuser ...
- Logical standby database 搭建(配置)
说明 Logical standby 数据库是通过Physical standby数据库转换的.本Logical standby是通过之前创建的Physical standby转换的. Physica ...
- PostgreSQL Hot Standby的搭建
一. 简介: PG在9.*版本后热备提供了新的一个功能,那就是Stream Replication的读写分离,是PG高可用性的一个典型应用.这个功能在oracle中叫active d ...
- 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...
- vault 集群搭建(active standby 模式)
参考架构图: consul server cluster 搭建 consul 基本配置格式 { "server": true, "node_name": ...
随机推荐
- 图解SQL的各种连接join
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...
- Android Studio的使用(一)--显示行号、快速查找方法源
1.显示行号,只需要右击编辑窗体的边界就可以了.(这种方法只能临时显示,下次打开文件就没了,对其他文件也没用). 2.永久显示行号 3.查找某个变量.类.方法定义的源头,同时可以查找布局文件,资源文件 ...
- Mysql集群读写分离(Amoeba)
Amoeba原理戳这里:Amoeba详细介绍 实验环境 Master.Amoeba--IP:192.168.1.5 Slave---IP:192.168.1.10 安装JDK JDK下载地址:http ...
- MemSQL 取代 HDFS 与 Spark 结合,性能大幅提升
MemSQL 取代 HDFS 与 Spark 结合,性能大幅提升 3,597 次阅读 - 基础架构 Apache Spark是目前非常强大的分布式计算框架.其简单易懂的计算框架使得我们很容易理解.虽然 ...
- .NET的对象映射工具AutoMapper使用笔记
AutoMapper是一个.NET的对象映射工具. 项目地址:https://github.com/AutoMapper/AutoMapper. 帮助文档:https://github.com/Aut ...
- 函数之return
return语句用来从一个函数 返回 即跳出函数.我们也可选从函数 返回一个值 .使用字面意义上的语句~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 例7.7 使用字面意义上的语句 ...
- (中等) POJ 2528 Mayor's posters , 离散+线段树。
Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral electio ...
- 微信小程序之----接口调用方式
最近开发了一个微信小程序版的任务管理系统,在向Java后台发送接口时遇到了一些问题,在这里做一个简单的总结. 官方接口 官方给出的接口叫做wx.request,请求方式比较简单,下面是官网给出的请求实 ...
- STM32标准IIC驱动
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接 微控制器及其外围设备.也是目前很流行的通讯总线,使用IIC总线做产品能够很大 ...
- USACO 2015 December Contest, Platinum Problem Max Flow【树链剖分】
题意比较难理解,就是给你n个点的树,然后给你m个修改操作,每一次修改包括一个点对(x, y),意味着将x到y所有的点权值加一,最后问你整个树上的点权最大是多少. 比较裸的树链剖分了,感谢Haild的讲 ...