repmgr+pg12构建高可用集群(1)

1、概述

repmgr是第二象限开源的一套流复制集群管理工具,看一下官方的介绍:

repmgr是一个开源工具套件,用于管理PostgreSQL服务器群集中的复制和故障转移。它通过设置备用服务器,监视复制以及执行管理任务(如故障转移或手动切换操作)的工具,增强了PostgreSQL的内置热备用功能。

repmgrde 的特点:

分布式管理集群节点,易扩展,可在线增删集群节点;

架构如下:

 

 2、部署

主节点:

  1. 配置好相关参数
  2. 启动数据库
  3. 利用“repmgr primary register”命令实现对主节点的注册。(该注册的目的是把配置文件的一些主要参数写到元数据表中,以便repmgr系统对集群节点的识别操作等。)
  4. 启动repmgrd守护进程。

备节点:

  1. 配置好相关参数
  2. 利用“repmgr standby clone”命令对主节点进行物理拷贝。
  3. 启动数据库
  4. 利用“repmgr standby register”命令实现对备节点的注册。
  5. 启动repmgrd守护进程。

集群每个节点部署成功后都会启动repmgrd守护进程,该守护进程可以处理故障转移和记录监控数据;

3、实际操作

操作环境:

centos7.6

3.1.安装pg12(见前面的帖子)

3.2.获取repmgr安装包

https://yum.postgresql.org/12/redhat/rhel-7-x86_64/repoview/

 

 

 3.3.安装repmgr

rpm -ivh repmgr12-5.1.0-1.rhel7.x86_64.rpm

3.4.repmgr参数配置

vim /etc/repmgr/12/repmgr.conf
##填写必须配置项
node_id=1
node_name=node1
conninfo='host=192.168.101.9 port=5432 user=postgres  dbname=postgres'
data_directory='/var/lib/pgsql/12/data'

3.5.数据库参数配置

复制代码
vim /var/lib/pgsql/12/data/postgresql.conf
#配置参数
shared_preload_libraries = 'repmgr' 
listen_addresses = '*'

vim /var/lib/pgsql/12/data/pg_hba.conf
#配置参数

  # IPv4 local connections:
  host all all 0.0.0.0/0 trust  #新增

复制代码

3.6.重启数据库后连接数据库创建插件(./psql -Upostgres -dpostgres)

CREATE EXTENSION repmgr;

3.7.注册主数据库

[postgres@localhost bin]$ ./repmgr primary register
INFO: connecting to primary database...
INFO: "repmgr" extension is already installed
NOTICE: primary node record (ID: 1) registered

3.8.集群状态查看

[postgres@localhost bin]$ ./repmgr cluster show
 ID | Name  | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string
----+-------+---------+-----------+----------+----------+----------+----------+-------------------------------------------------------------
 1  | node1 | primary | * running |          | default  | 100      | 1        | host=192.168.101.9 port=5432 user=postgres  dbname=postgres

注册备数据库在下节进行记录。。

posted @   明矾  阅读(1766)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2019-04-20 jmeter笔记(9)--JDBC Request的使用
2019-04-20 jmeter笔记(8)--关联
2019-04-20 jmeter笔记(7)--参数化--用户定义的变量
2019-04-20 jmeter笔记(6)--参数化--函数助手
2019-04-20 jmeter笔记(5)--参数化--CSV Data Set Config
点击右上角即可分享
微信分享提示