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

注冊備數據庫在下節進行記錄。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM