repmgr+pg12构建高可用集群
Posted mingfan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了repmgr+pg12构建高可用集群相关的知识,希望对你有一定的参考价值。
1、概述
repmgr是第二象限开源的一套流复制集群管理工具,看一下官方的介绍:
repmgr是一个开源工具套件,用于管理PostgreSQL服务器群集中的复制和故障转移。它通过设置备用服务器,监视复制以及执行管理任务(如故障转移或手动切换操作)的工具,增强了PostgreSQL的内置热备用功能。
repmgrde 的特点:
分布式管理集群节点,易扩展,可在线增删集群节点;
架构如下:
2、部署
主节点:
- 配置好相关参数
- 启动数据库
- 利用“repmgr primary register”命令实现对主节点的注册。(该注册的目的是把配置文件的一些主要参数写到元数据表中,以便repmgr系统对集群节点的识别操作等。)
- 启动repmgrd守护进程。
备节点:
- 配置好相关参数
- 利用“repmgr standby clone”命令对主节点进行物理拷贝。
- 启动数据库
- 利用“repmgr standby register”命令实现对备节点的注册。
- 启动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
注册备数据库在下节进行记录。。
以上是关于repmgr+pg12构建高可用集群的主要内容,如果未能解决你的问题,请参考以下文章