基于PGPool的1主2从PostgreSQL流复制HA的搭建

基于PGPool的1主2从PostgreSQL流复制HA的搭建 PostgreSQL的流复制为HA提供了很好的支持,但是部署HA集群还需要专门的HA组件, 比如通用的Pacemaker+Corosync。pgpool作为PostgreSQL的中间件,也提供HA功能。 pgpool可以监视后端PostgreSQ...
摘要由CSDN通过智能技术生成

基于PGPool的1主2从PostgreSQL流复制HA的搭建

PostgreSQL的流复制为HA提供了很好的支持,但是部署HA集群还需要专门的HA组件, 比如通用的Pacemaker+Corosync。pgpool作为PostgreSQL的中间件,也提供HA功能。

pgpool可以监视后端PostgreSQL的健康并实施failover,由于应用的所有流量都经过pgpool,可以很容易对故障节点进行隔离, 但,同时必须为pgpool配置备机,防止pgpool本身成为单点。pgpool自身带watchdog组件通过quorum机制防止脑裂, 因此建议pgpool节点至少是3个,并且是奇数。在失去quorum后watchdog会自动摘除VIP,并阻塞客户端连接。

下面利用pgpool搭建3节点PostgreSQL流复制的HA集群。 集群的目标为强数据一致HA,实现思路如下:

  • 基于PostgreSQL的1主2从同步复制
  • Slave的复制连接字符串使用固定的pgsql_primary作为Master的主机名,在/etc/hosts中将Master的ip映射到pgsql_primary上,通过/etc/hosts的修改实现Slave对复制源(Master)的切换。 之所以采取这种方式是为了避免直接修改recovery.conf后重启postgres进程时会被pgpool检测到并设置postgres后端为down状态。
  • pgpool分别部署在3个节点上,pgpool的Master和PostgreSQL的Primary最好不在同一个节点上,这样在PostgreSQL的Primary down时可以干净的隔离故障机器。

环境

软件

  • CentOS 7.0
  • PGPool 3.5
  • PostgreSQL9.5

节点

  • node1 192.168.0.211
  • node2 192.168.0.212
  • node3 192.168.0.213
  • vip 192.168.0.220

配置

  • PostgreSQL Port:5433
  • 复制账号:replication/replication
  • 管理账号:admin/admin

前提

  • 3个节点建立ssh互信。
  • 3个节点配置好主机名解析(/etc/hosts)
    将pgsql_primary解析为主节点的IP

    [postgres@node3 ~]$ cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.0.211 node1
    192.168.0.212 node2
    192.168.0.213 node3
    192.168.0.211 pgsql_primary 
  • 3个节点事先装好PostgreSQL,并配置1主2从同步流复制,node1是主节点。
    在2个Slave节点node2和node3上设置recovery.conf中的复制源的主机名为pgsql_primary

    [postgres@node3 ~]$ cat /data/postgresql/data/recovery.conf 
    standby_mode = 'on'
    primary_conninfo = 'host=pgsql_primary port=5433 application_name=node3 user=replication password=replication keepalives_idle=60 keepalives_interval=5 keepalives_count=5'
    restore_command = ''
    recovery_target_timeline = 'latest' 

安装pgpool

在node1,node2和node3节点上安装pgpool-II

yum install
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值