Postgresql
Pgpool2 不使用 slave 進行負載均衡
我已經在從 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”如果被選中則為真,如果未選中則為假。無論是主設備還是從設備,該決定都無關緊要。