我是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',)
我在想我是否仍然缺少一些依賴關係。
如果'kerberos_service_name'實際上意味着Kerberos服務主體,應該是像「impala/[email protected]」與在您的** krb5.conf中引用的同一境界**文件和「_HOST」作爲您連接到的實際主機的小丑。 –
我強烈懷疑Impala正在PC上運行,因此「localhost」是個玩笑。 –
如果遇到puresasl類似的錯誤,應該[安裝Kerberos Python包](https://github.com/thobbs/pure-sasl/issues/20)。 –