溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PostgreSQL高可用集群 repmgr 的問題怎么解決

發(fā)布時(shí)間:2022-01-04 10:11:41 來源:億速云 閱讀:245 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)PostgreSQL高可用集群 repmgr 的問題怎么解決,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。

PostgreSQL 的高可用的方案,基本上不是原生的,大多是依靠第三方的公司來進(jìn)行開發(fā)的,掛名的有那么幾種 Patroni, PGPOOL-II, Repmgr  , 等等幾種。PGPOOL-II 在安裝適用中遇到很多問題,按理說一家日本公司做的東西應(yīng)該靠譜,可惜問題太多,所以不能被作為 HA 的方式使用。

一個(gè)HA 的方式應(yīng)該是簡單的,高效的,并且抗X 的。 (我沒有提分布式,只說HA)

  Repmgr 作為幾大PG支持的公司 2ndQuadrant,產(chǎn)品也是比較靠譜的。目前repmgr 4.4的版本已經(jīng)支持了 PG11 。文字中的PG 版本都是基于目前PG 11的版本。

安裝的過程其實(shí)沒有什么說的就是編譯安裝,但是我在安裝的時(shí)候遇到了一些事情,如果有遇到的同行可以快速解決問題。

1 你POSTGRESQL 編譯安裝后,是否設(shè)置了系統(tǒng)變量,如果不設(shè)置系統(tǒng)變量就會(huì)遇到不少問題

2 不設(shè)置系統(tǒng)變量,你的BIN目錄下的 PSQL PG_CONFIG 等文件是你編譯的文件。

如果你在編譯repmgr 時(shí)遇到版本不對等問題,多半你的從這里查起。

以下文字均建立在

1 您已經(jīng)會(huì)獨(dú)立安裝POSTGRESQL 并無故障的基礎(chǔ)上

2 您理解并可以進(jìn)行流復(fù)制的設(shè)置和部分問題的故障排查

下面會(huì)有兩臺(tái)機(jī)器,

IP 分別為 192.168.198.110

              192.168.198.111

在此基礎(chǔ)上,PG 的部分配置在主庫上是必須進(jìn)行配置的

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的復(fù)制其中有流式復(fù)制和邏輯復(fù)制兩種,我們采用的是流式復(fù)制。

以上的配置中前四個(gè)都是與流式復(fù)制有關(guān)的配置信息,后面兩個(gè)是LOG 的 archive的設(shè)置。

后面需要設(shè)置的就是 repmgr 的操作數(shù)據(jù)庫的用戶和相關(guān)repmgr 存儲(chǔ)元數(shù)據(jù)的數(shù)據(jù)庫。

創(chuàng)建repmgr用戶 ,以及創(chuàng)建repmgr 數(shù)據(jù)庫

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;

在設(shè)置完這些,還需要進(jìn)行 pg_hba.conf的設(shè)置

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 進(jìn)行編譯,需要提前設(shè)置好相關(guān)的數(shù)據(jù)庫的變量,如不清楚可以翻閱之前的關(guān)于POSTGRESQL 安裝的一篇文字,大約在2個(gè)月前。

repmgr -f /etc/repmgr.conf primary register

repmgr.conf中必須包含的內(nèi)容

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'

PostgreSQL高可用集群 repmgr 的問題怎么解決

repmgr -f /etc/repmgr.conf cluster show

在注冊完主節(jié)點(diǎn)后,可以通過上面的命令來進(jìn)行驗(yàn)證是否成功注冊

PostgreSQL高可用集群 repmgr 的問題怎么解決

在standy 從庫也安裝 repmgr 并且設(shè)置 repmgr.conf 到 /etc/目錄下

相關(guān)的內(nèi)容

PostgreSQL高可用集群 repmgr 的問題怎么解決

我們需要去驗(yàn)證我們馬上要進(jìn)行的clone 是否能夠成功

PostgreSQL高可用集群 repmgr 的問題怎么解決

如果之間有問題,會(huì)在打印的信息報(bào)錯(cuò),無法有以下幾種

1你的主從庫網(wǎng)絡(luò)連接問題

2 賬號(hào)的問題,無法通過你給的賬號(hào)進(jìn)行聯(lián)通

3 你的從庫的PG 啟動(dòng)并且在數(shù)據(jù)目錄里面有數(shù)據(jù)

下面就直接進(jìn)行命令的操作,可以蛋刀數(shù)據(jù)整個(gè)的一體化操作都完成了,數(shù)據(jù)的拷貝, standy 的注冊等。

PostgreSQL高可用集群 repmgr 的問題怎么解決

啟動(dòng)從庫

我們在主從庫之間驗(yàn)證相關(guān)的復(fù)制是否已經(jīng)工作

主庫

PostgreSQL高可用集群 repmgr 的問題怎么解決

從庫

PostgreSQL高可用集群 repmgr 的問題怎么解決

下面將注冊信息存儲(chǔ)在復(fù)制集中

PostgreSQL高可用集群 repmgr 的問題怎么解決

并且主從中通過命令都可以查到相關(guān)的注冊信息

在做完這一切后,我們可以演練一下,如何手動(dòng)的來切換,主從庫

PostgreSQL高可用集群 repmgr 的問題怎么解決

再次運(yùn)行命令來驗(yàn)證是否切換成功

PostgreSQL高可用集群 repmgr 的問題怎么解決

可以看到主從切換成功了。

我們再次進(jìn)入到主機(jī)進(jìn)行驗(yàn)證,你可以通過主機(jī)名來看到切換是成功了

PostgreSQL高可用集群 repmgr 的問題怎么解決

PostgreSQL高可用集群 repmgr 的問題怎么解決

當(dāng)然你還可以在切換回來和剛才的操作一樣

PostgreSQL高可用集群 repmgr 的問題怎么解決

通過這一輪簡單的操作,repmgr 的主機(jī)主從切換是如此簡單,當(dāng)然他的功能還不止于此,自動(dòng)在故障的時(shí)候,進(jìn)行切換他也很在行,我可以認(rèn)為他是POSTGRESQL 界中的 MHA 。 

在總結(jié)一下repmgr 的優(yōu)點(diǎn)

1 安裝簡單

2 功能強(qiáng)大

3 有較清晰的文檔

4 背后有PG 業(yè)界知名公司做后盾

5 支持到目前最新版本的 PG 11

關(guān)于PostgreSQL高可用集群 repmgr 的問題怎么解決就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI