Postgresql

Pgpool2 不使用 slave 進行負載均衡

  • December 23, 2021

我已經在從 ubuntu xenial repo 安裝的 postgres 9.5.10 中啟用了流複製。我想為從原始碼安裝的 pgpool-2 (3.7.0 amefuriboshi) 啟用負載平衡。所以我有這個 pgpool.conf:https ://pastebin.com/qWWgejQN

如您所見,我設置了兩個節點,關閉了複製,打開了主/從模式並將其設置為流。而且我還啟用了 memcached 記憶體。

現在我有一個非常大的問題,即 pgpool 不想使用 slave 進行平衡:

postgres=# show pool_nodes;
node_id |    hostname    | port | status | lb_weight |  role   | select_cnt | load_balance_node | replication_delay 
---------+----------------+------+--------+-----------+---------+------------+-------------------+-------------------
0       | localhost      | 5433 | up     | 0.500000  | primary | 0          | true              | 0
1       | host2          | 5433 | unused | 0.500000  | standby | 0          | false             | 0
(2 rows)

我做錯了什麼?

我發現這個頁面http://lists.pgfoundry.org/pipermail/pgpool-general/2010-May/002711.html

他們說我需要刪除文件 pgpool_status。我做到了,pgpool 現在可以使用兩個節點!似乎該文件是在我沒有第二個節點並且 pgpool 一直信任該文件之後創建的。所以刪除這個文件解決了這個問題。

觸發pgpool -m fast stop,然後rm -rf pgpool_status確保start pgpool更改被拾取。

回答類似問題: http: //www.sraoss.jp/pipermail/pgpool-general/2017-May/005504.html

相關的答案是:

當客戶端連接到 Pgpool-II 時,Pgpool-II 選擇具有權重參數機率的 DB 節點之一。“load_balance_node”如果被選中則為真,如果未選中則為假。無論是主設備還是從設備,該決定都無關緊要。

引用自:https://dba.stackexchange.com/questions/191707