2016-01-24 62 views
1

我是W8機,在這裏我使用Python(蟒蛇分佈)連接到帕拉我們的Hadoop集羣使用Impyla包上。我們的hadoop集羣通過Kerberos進行安全保護。我跟着API REFERENCE如何配置連接。使用impyla客戶端連接到黑斑羚的Kerberos身份驗證

from impala.dbapi import connect 
    conn = connect(host='localhost', port=21050, auth_mechanism='GSSAPI', 
       kerberos_service_name='impala') 

我們正在使用Kerberos GSSAPI SASL與

auth_mechanism='GSSAPI' 

我已成功安裝Python-SASL庫WIN8但我仍然會遇到這樣的錯誤。

Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found (code THRIFTTRANSPORT): TTransportException('Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found',) 

我在想我是否仍然缺少一些依賴關係。

+0

如果'kerberos_service_name'實際上意味着Kerberos服務主體,應該是像「impala/[email protected]」與在您的** krb5.conf中引用的同一境界**文件和「_HOST」作爲您連接到的實際主機的小丑。 –

+0

我強烈懷疑Impala正在PC上運行,因此「localhost」是個玩笑。 –

+0

如果遇到puresasl類似的錯誤,應該[安裝Kerberos Python包](https://github.com/thobbs/pure-sasl/issues/20)。 –

回答

0

安裝kerberos Python包,它會解決你的問題。

0

對於我來說,安裝此包修復它:libsasl2模塊-GSSAPI麻省理工學院

1

對於我來說,下面的連接參數的工作。我不必在python中安裝任何額外的軟件包。

connect(host="your_host", port=21050, auth_mechanism='GSSAPI', timeout=100000, use_ssl=False, ca_cert=None, ldap_user=None, ldap_password=None, kerberos_service_name='impala') 
相關問題