2016-03-01 66 views
1

我使用GP 4.3.7.2,我跟着手動http://120.52.72.46/gpdb.docs.pivotal.io/c3pr90ntcsf0/gs/43/pdf/GPDB43xGettingStarted.pdf無法連接,錯誤消息Greenplum的:「沒有pg_hba.conf的條目」

我可以用管理員用戶連接到服務器,但是當我嘗試使用另一個用戶,我收到錯誤消息

psql: FATAL: no pg_hba.conf entry for host "[local]", user "gpuser", database "rdw", SSL off 

我已經對stackoverflow做了一些研究。我修改了pg_hba.conf,添加一個條目

host all all 0.0.0.0/0 md5 

,然後重新裝入gpstop -uSELECT pg_reload_conf();配置文件,甚至試圖重新啓動服務器GP。但我仍然得到同樣的錯誤。

我也試着像

host all    all    127.0.0.1/32   md5 

這並沒有工作過的其他條目。

請告訴我如何解決這個問題。

編輯:

我重新安裝在單節點模式數據庫,並嚴格遵循前面提到的手冊。我爲這兩個用戶創建了兩個用戶:user1,user2和授予角色users。 我執行什麼: 在命令行:

$ createuser -P user1 
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) n 
Shall the new role be allowed to create databases? (y/n) y 
Shall the new role be allowed to create more new roles? (y/n) n 

在PSQL:

=# CREATE USER user2 WITH PASSWORD 'changeme' CREATEDB NOSUPERUSER;  
=# CREATE ROLE users; 
=# GRANT users TO user1, user2; 

這是我整個的pg_hba.conf,它位於/data/gp/server/master/gpsne-1/pg_hba.conf。我添加了最後3行。

local all   hadoop   ident 
host  all   hadoop   127.0.0.1/28 trust 
host  all   hadoop   10.10.10.32/32  trust 
host  all   hadoop   ::1/128  trust 
host  all   hadoop   fe80::d6ae:52ff:feb9:87c2/128  trust 
local replication hadoop   ident 
host  replication hadoop   samenet  trust 
local tutorial +users md5 
local tutorial +users 127.0.0.1/28 md5 
hostssl tutorial +users samenet md5 

但我仍然得到同樣的錯誤。

psql: FATAL: no pg_hba.conf entry for host "[local]", user "user1", database "tutorial", SSL off 

當我安裝數據庫時,我收到一條警告消息,不知道它是否相關。

20160302:10:44:51:023434 gpinitsystem:bobcat04:hadoop-[WARN]:-Host 127.0.0.1 is assigned as localhost in /etc/hosts 
20160302:10:44:51:023434 gpinitsystem:bobcat04:hadoop-[WARN]:-This will cause segment->master communication failures 
20160302:10:44:51:023434 gpinitsystem:bobcat04:hadoop-[WARN]:-Remove 127.0.0.1 from local host line in /etc/hosts 
+0

您添加的條目似乎正確。問題一定在其他地方。也許你改了一個錯誤的'pg_hba.conf'文件,或者沒有重啓服務器。 – AlexM

+1

「[local]」在Unix域套接字中?這需要「本地」而不是「主機」。 –

+0

請發佈您的整個pg_hba.conf,但沒有評論。 –

回答

3

你必須在第二行最後一個錯誤:

local tutorial +users 127.0.0.1/28 md5 

不應該有本地連接中列出的IP地址。

您是否在運行gpstop -u以進行更改後重新加載? 我懷疑由於無效的行而導致重新加載失敗。

刪除該行並再次運行gpstop -u並嘗試再次連接。

+0

謝謝!我刪除了該行並且它可以正常工作!但GP入門手冊說要添加該條目...我會報告此問題到Pivotal。 – scarcer

0
psql: FATAL: no pg_hba.conf entry for host "[local]", user "gpuser", database "rdw", SSL off 

這意味着您要使用的psql主控主機和不指定主機連接到Greenplum的。如果您只鍵入:

psql 

psql客戶端將嘗試連接到Greenplum的LOCAL實例。您添加的pg_hba.conf條目用於HOST身份驗證,而不是LOCAL。

你可以通過做兩件事來解決這個問題。

  1. 當使用psql並且想要使用pg_hba.conf文件中的HOST條目進行身份驗證時,請添加-h選項。這告訴客戶端連接到Greenplum並使用主機條目進行身份驗證。

    psql -h mdw 
    
  2. 您還可以添加一個條目,pg_hba.conf文件的底部是這樣的:

    local all all md5 
    

    ,或者如果你相信每個人都在本地

    local all all trust 
    

更多關於pg_hba.conf文件的信息在這裏:http://www.postgresql.org/docs/8.2/static/auth-pg-hba-conf.html

+0

謝謝你的回覆。但是這並不能解決我的問題:(請參閱我在問題中添加的更多信息 – scarcer

相關問題