您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關PostgreSQL高可用集群 repmgr 的問題怎么解決,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
PostgreSQL 的高可用的方案,基本上不是原生的,大多是依靠第三方的公司來進行開發的,掛名的有那么幾種 Patroni, PGPOOL-II, Repmgr , 等等幾種。PGPOOL-II 在安裝適用中遇到很多問題,按理說一家日本公司做的東西應該靠譜,可惜問題太多,所以不能被作為 HA 的方式使用。
一個HA 的方式應該是簡單的,高效的,并且抗X 的。 (我沒有提分布式,只說HA)
Repmgr 作為幾大PG支持的公司 2ndQuadrant,產品也是比較靠譜的。目前repmgr 4.4的版本已經支持了 PG11 。文字中的PG 版本都是基于目前PG 11的版本。
安裝的過程其實沒有什么說的就是編譯安裝,但是我在安裝的時候遇到了一些事情,如果有遇到的同行可以快速解決問題。
1 你POSTGRESQL 編譯安裝后,是否設置了系統變量,如果不設置系統變量就會遇到不少問題
2 不設置系統變量,你的BIN目錄下的 PSQL PG_CONFIG 等文件是你編譯的文件。
如果你在編譯repmgr 時遇到版本不對等問題,多半你的從這里查起。
以下文字均建立在
1 您已經會獨立安裝POSTGRESQL 并無故障的基礎上
2 您理解并可以進行流復制的設置和部分問題的故障排查
下面會有兩臺機器,
IP 分別為 192.168.198.110
192.168.198.111
在此基礎上,PG 的部分配置在主庫上是必須進行配置的
max_wal_senders = 10
max_replication_slots = 10
wal_level = replica
hot_standby = on
archive_mode = on
archive_command = 'test ! -f /pgdata/archive/%f && cp %p /pgdata/archive/%f'
如果您不知道上面的都是什么,這里大致的介紹一下,PG的復制其中有流式復制和邏輯復制兩種,我們采用的是流式復制。
以上的配置中前四個都是與流式復制有關的配置信息,后面兩個是LOG 的 archive的設置。
后面需要設置的就是 repmgr 的操作數據庫的用戶和相關repmgr 存儲元數據的數據庫。
創建repmgr用戶 ,以及創建repmgr 數據庫
create user repmgr superuser login;
alter user repmgr with password 'repmgr';
create database repmgr;
alter database repmgr owner to repmgr;
ALTER USER repmgr SET search_path TO repmgr, "$user", public;
在設置完這些,還需要進行 pg_hba.conf的設置
local repmgr repmgr trust
host repmgr repmgr 127.0.0.1/32 trust
host repmgr repmgr ::1/128 trust
host repmgr repmgr 192.168.198.0/24 trust
對下載的rpemgr 進行編譯,需要提前設置好相關的數據庫的變量,如不清楚可以翻閱之前的關于POSTGRESQL 安裝的一篇文字,大約在2個月前。
repmgr -f /etc/repmgr.conf primary register
repmgr.conf中必須包含的內容
node_id=1
node_name='192.168.198.110' conninfo='host=192.168.198.110 user=repmgr dbname=repmgr connect_timeout=2'
data_directory='/pgdata/data'
repmgr -f /etc/repmgr.conf cluster show
在注冊完主節點后,可以通過上面的命令來進行驗證是否成功注冊
在standy 從庫也安裝 repmgr 并且設置 repmgr.conf 到 /etc/目錄下
相關的內容
我們需要去驗證我們馬上要進行的clone 是否能夠成功
如果之間有問題,會在打印的信息報錯,無法有以下幾種
1你的主從庫網絡連接問題
2 賬號的問題,無法通過你給的賬號進行聯通
3 你的從庫的PG 啟動并且在數據目錄里面有數據
下面就直接進行命令的操作,可以蛋刀數據整個的一體化操作都完成了,數據的拷貝, standy 的注冊等。
啟動從庫
我們在主從庫之間驗證相關的復制是否已經工作
主庫
從庫
下面將注冊信息存儲在復制集中
并且主從中通過命令都可以查到相關的注冊信息
在做完這一切后,我們可以演練一下,如何手動的來切換,主從庫
再次運行命令來驗證是否切換成功
可以看到主從切換成功了。
我們再次進入到主機進行驗證,你可以通過主機名來看到切換是成功了
當然你還可以在切換回來和剛才的操作一樣
通過這一輪簡單的操作,repmgr 的主機主從切換是如此簡單,當然他的功能還不止于此,自動在故障的時候,進行切換他也很在行,我可以認為他是POSTGRESQL 界中的 MHA 。
在總結一下repmgr 的優點
1 安裝簡單
2 功能強大
3 有較清晰的文檔
4 背后有PG 業界知名公司做后盾
5 支持到目前最新版本的 PG 11
關于PostgreSQL高可用集群 repmgr 的問題怎么解決就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。