我在一台W8机器上,使用Python (Anaconda分发版)使用Impyla包连接到Hadoop集群中的Impala。我们的hadoop集群是通过Kerberos来保护的。我遵循了API参考如何配置连接。
from impala.dbapi import connect
conn = connect( host='localhost', port=21050, auth_mechanism='GSSAPI',
kerberos_service_name='impala')我们在SASL中使用Kerberos GSSAPI
auth_mechanism='GSSAPI'我已经成功地为WIN8安装了python库,但是仍然遇到了这个错误。
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',)我想知道我是否还缺少一些依赖项。
发布于 2017-06-21 16:11:08
安装kerberos软件包,它将修复您的问题。
发布于 2019-08-03 18:39:06
我遇到了同样的问题,但我通过安装所需库的正确版本来修复它。
使用pip安装下面的python库:
six==1.12.0
bit_array==0.1.0
thrift==0.9.3
thrift_sasl==0.2.1
sasl==0.2.1
impyla==0.13.8下面的代码在python版本2.7和3.4中运行得很好。
import ssl
from impala.dbapi import connect
import os
os.system("kinit")
conn = connect(host='hostname.io', port=21050, use_ssl=True, database='default', user='urusername', kerberos_service_name='impala', auth_mechanism = 'GSSAPI')
cur = conn.cursor()
cur.execute('SHOW DATABASES;')
result=cur.fetchall()
for data in result:
print (data) 发布于 2017-08-17 17:58:43
对我来说,安装这个软件包修复了它:libsasl2-modules-gssapi-mit
https://stackoverflow.com/questions/34977562
复制相似问题