我在w8机器上,在那里我使用python(anaconda发行版)连接到hadoop集群中使用impyla包的impala。我们的hadoop集群是通过kerberos来保护的。我已经遵循了api参考如何配置连接。
from impala.dbapi import connect
conn = connect( host='localhost', port=21050, auth_mechanism='GSSAPI',
kerberos_service_name='impala')
我们将kerberos gssapi与sasl一起使用
auth_mechanism='GSSAPI'
我已经成功地为win8安装了python sasl库,但是仍然遇到了这个错误。
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',)
我想知道我是否还缺少一些依赖性。
7条答案
按热度按时间yiytaume1#
要使用python连接impala,可以执行以下步骤,
为impala安装coludera odbc驱动程序。
使用64位odbc驱动程序创建dsn,输入您的服务器详细信息,下面是相同的示例屏幕截图
使用下面的代码段进行连接
导入pyodbc
使用pyodbc.connect(“dsn=impala\u con”,autocommit=true)作为conn:。。。df=pd.read\u sql(“,conn)
4bbkushb2#
尝试此操作以获取kerberized集群的表。就我而言,cdh-5.14.2-1。
运行此代码之前,请确保您拥有有效的票证。
用python
2.7
有下面的包裹。工作代码
kognpnkq3#
python无法连接hiveserver2
确保安装了cyrus sasl devel和cyrus sasl gssapi
rqmkfv5c4#
我遇到了同样的问题,但我通过安装正确版本的必需库来修复它。
使用pip安装以下python库:
下面的代码与
python
版本2.7
以及3.4
.siv3szwd5#
对我来说,安装这个软件包修复了它:
libsasl2-modules-gssapi-mit
qvsjd97n6#
对我来说,以下连接参数起作用。我不必在python中安装任何附加包。
mqkwyuun7#
安装
kerberos
python包,它将修复您的问题。