1.可以使用CDH自带的pip
/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hue/build/env/bin/pip install pyhs2
2.复制cdh的hive包py到指定目录:
scp -r /opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hive/lib/py/*/usr/lib/python2.6/site-packages/
3 ImportError: No module named sasl 错误解决:
执行:/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hue/build/env/bin/pip install sasl
发现 cdh已经安装好了!
Requirement already satisfied (use --upgrade to upgrade): sasl in /opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hue/build/env/lib/python2.6/site-packages/sasl-0.1.1-py2.6-linux-x86_64.egg
直接使用cdh已经存在的sasl即可!!
重新设置PYTHONPATH中间以冒号隔开:export PYTHONPATH=/usr/lib/python2.6/site-packages:/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p0.2/lib/hue/build/env/lib/python2.6/site-packages
4.Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found
解决方法:
I am guessing you are missing the plain kerb plugin. Try doing a:
yum install cyrus-sasl-plain
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import pyhs2
with pyhs2.connect(host='192.168.3.129',
port=10000,
authMechanism='PLAIN',
user='root',
password='*****', # 主机密码
database='default') as conn:
with conn.cursor() as cur:
#Show databases
print cur.getDatabases()
#Execute query
#cur.execute("select * from table")
#Return column info from query
#print cur.getSchema()
#Fetch table results
#for i in cur.fetch():
#print i
执行成功:
[root@master software]# /opt/cloudera/parcels/CDH/lib/hue/build/env/bin/python test.py
[['default', ''], ['ncbtest', ''], ['test', '']]
参考链接:http://www.zhimengzhe.com/linux/231597.html
http://blog.sina.com.cn/s/blog_40d46ec20101fd4s.html