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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值