2015-11-12 121 views
0

我試圖配置pgpool使用兩臺服務器之間的負載平衡(運行Debian 8.2和Postgresql 9.4)。 我已經有兩個流媒體複製工作(主153和從屬155)。現在我安裝PgPool,並與這兩個服務器配置:使用PgPool連接兩臺服務器

backend_hostname0 = '10.0.0.153' 
backend_port0 = 5432 
backend_weight0 = 1 
backend_data_directory0 = '/var/lib/postgresq/9.4/main' 

backend_hostname1 = '10.0.0.155' 
backend_port1 = 5432 
backend_weight1 = 1 
backend_data_directory1 = '/var/lib/postgresq/9.4/main' 

和配置pool_hba,pool_passwd和load_balance_mode上。 我的問題是:當我嘗試通過pgpool使用PSQL它會顯示錯誤: 「PSQL:FATAL:密碼驗證失敗,用戶Postgres的」

,但如果我評論backend1的所有部分,變着法子多,然後重新啓動pgpool2服務,我可以在同一臺計算機上使用完全相同的用戶和密碼連接而不出問題。我不知道是否應該設置另一個參數來使用兩臺服務器並在它們之間進行負載平衡。

我可以使用psql連接到每個客戶端的每個後端服務器,這很好,所以證書不應該成爲問題。 PS:不知道這是否有幫助。但是在pgpool.conf中,replication_mode是關閉的,因爲我使用流複製,並且據我所知,可以使用load_balance而不通過pgpool進行復制。

謝謝。

回答

0

嘗試登錄到pgppol服務器並運行命令: pg_md5 -m -u的Postgres your_password_for_postgres_user

現在看到pool_passwd的內容。它應該包含這樣的內容:

Postgres的:md55ebe2294ecd0e0f08eab7690d2a6ee69

現在重新啓動pgpool,並嘗試重新連接。希望你的問題將得到解決。

0

pgpool的負載均衡可用於流式複製,因此您需要將master_slave_mode和load_balance_mode設置爲true,並將master_slave_sub_mode設置爲流。

對於您正在收到的驗證錯誤,請檢查pgpool主機的pg_hba.conf設置。根據指定的身份驗證方法的類型,請參閱pgpool文檔中的相應客戶端身份驗證部分。

http://www.pgpool.net/docs/latest/pgpool-en.html#hba

相關問題