KingbaseES数据库部署及双机热备配置

  1. 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地址随环境准备配置

  1. 主机

[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$"
  1. 备机

[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模式的数据库系统不能接受连接”。
  1. 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搭建的更多相关文章

  1. Oracle DataGuard 物理Standby 搭建(上)

    物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...

  2. DataGuard相同SID物理Standby搭建

    Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...

  3. Oracle DataGuard 物理Standby 搭建(下)

    主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUAR ...

  4. KingbaseES的HA搭建

    1.配置资源前准备: 安装好数据库并保持两台机器用户ID及组ID一致,组ID和用户ID在/etc/passwd查看,如不保持一致,可能导致切机时阵列的属主改变,导致数据库无法启动. 建议用法,现在两台 ...

  5. postgresql 异步流复制hot standby搭建

    先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上 一.主库上的操作: 1.添加同步访问规则: host   replication     dbuser     ...

  6. Logical standby database 搭建(配置)

    说明 Logical standby 数据库是通过Physical standby数据库转换的.本Logical standby是通过之前创建的Physical standby转换的. Physica ...

  7. PostgreSQL Hot Standby的搭建

    一. 简介:          PG在9.*版本后热备提供了新的一个功能,那就是Stream Replication的读写分离,是PG高可用性的一个典型应用.这个功能在oracle中叫active d ...

  8. 模拟生产搭建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.备库配置 ...

  9. vault 集群搭建(active standby 模式)

        参考架构图: consul server cluster 搭建 consul 基本配置格式 { "server": true, "node_name": ...

随机推荐

  1. 第三方框架ViewPagerIndicator引入到Android Studio的方法总结

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6286619.html 第三方框架ViewPagerIndicator实现的效果比较好,但当我们从G ...

  2. webapp之路--百度手机前端经验(转)

    看了之后收获很大,分享一下: 本文将围绕我半年来在移动前端工程化做的一些工作做的总结,主要从localstorage缓存和版本号管理,模块化,静态资源渲染方式三个方面总结手机百度前端一年内沉淀的解决方 ...

  3. JAVA中SSL证书认证通讯

    JAVA中SSL证书认证通讯 SSL通讯服务端 /******************************************************************** * 项目名称 ...

  4. mac home/end/pageup/pageDown

    home:按fn+左键 end:按fn+右键 pageup:按fn+上键 pagedown:按fn+下键

  5. php 注意点

    1.如果一个方法可静态化,就对它做静态声明.速率可提升至4倍. 2.echo 比 print 快. 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接. 4.在执行for循环之前确定 ...

  6. 数据恢复软件Extundelete

    数据恢复软件Extundelete介绍 一.概述 作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何快速.有效地恢 ...

  7. ajax跨域实现api 接口调用

    背景: 想实现跨域去调用接口, 然后同时支持下次调用,能够带cookie信息过来,同时支持来自多个源头的域名的跨域调用. 1.这样支持来自所有域名的跨域调用: 不支持跨域是,浏览器报错: 在api接口 ...

  8. [转]ASP.NET Core 1 Deploy to IIS

    本文转自: http://webmodelling.com/webbits/aspnet/aspnet-deploy-iis.aspx 15 Sep 2016. This tutorial will ...

  9. (中等) HDU 1542 Atlantis,扫描线。

    Problem Description There are several ancient Greek texts that contain descriptions of the fabled is ...

  10. WeakHashMap和Java引用类型详细解析

    WeakHashMap是种弱引用的HashMap,这是说,WeakHashMap里的key值如果没有外部强引用,在垃圾回收之后,WeakHashMap的对应内容也会被移除掉. 1.1 Java的引用类 ...