Python 2.7 Kerberos安装后Python Impyla失败
我在一台W7机器上,在那里我使用Python(Anaconda发行版)通过Impyla包连接到Hadoop集群中的Impala。 我的公司最近添加了Kerberos,这最终打破了我现有的架构 在Kerberos之前:Python 2.7 Kerberos安装后Python Impyla失败,python-2.7,kerberos,anaconda,impala,Python 2.7,Kerberos,Anaconda,Impala,我在一台W7机器上,在那里我使用Python(Anaconda发行版)通过Impyla包连接到Hadoop集群中的Impala。 我的公司最近添加了Kerberos,这最终打破了我现有的架构 在Kerberos之前: from impala.dbapi import connect conn = connect( host='localhost', port=21050) cur = conn.cursor() cur.execute('SHOW TABLES') cur.fetchall()
from impala.dbapi import connect
conn = connect( host='localhost', port=21050)
cur = conn.cursor()
cur.execute('SHOW TABLES')
cur.fetchall()
Kerberos之后的
from impala.dbapi import connect
conn = connect( host='localhost', port=21050, use_kerberos=True,
kerberos_service_name='impala/myservername')
Traceback (most recent call last):
File "<ipython-input-13-068c7348729f>", line 2, in <module>
kerberos_service_name='impala/myservername')
File "C:\Users\x\AppData\Local\Continuum\Anaconda\lib\site-packages\impala\dbapi\__init__.py", line 47, in connect
ldap_password, use_kerberos, kerberos_service_name)
File "C:\Users\x\AppData\Local\Continuum\Anaconda\lib\site-packages\impala\_rpc\hiveserver2.py", line 193, in connect_to_impala
use_kerberos, kerberos_service_name)
File "C:\Users\x\AppData\Local\Continuum\Anaconda\lib\site-packages\impala\_rpc\hiveserver2.py", line 166, in _get_transport
import sasl
ImportError: No module named sasl
我看到你正在运行Windows。你是在运行cygwin还是其他python 您是否尝试过:
我遇到了同样的问题,但我通过安装正确版本的必需库来修复它 使用
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)
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
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)