centos7 cdh5.8使用python 的 pysh2连接hiveServer2

来源:互联网 发布:js 同意协议 编辑:程序博客网 时间:2024/06/09 23:44

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 pyhs2with 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

原创粉丝点击