Pyhive连接hive时出错:thrift.transport.TTransport.TTransportException:

举报
风一样的美男子 发表于 2022/12/20 10:12:58 2022/12/20
【摘要】 Pyhive连接hive时出错:thrift.transport.TTransport.TTransportException: Could not start SASL

问题场景:
  安装了Pyhive包及其依赖:sasl,thrift,thrift-sasl, PyHive
        pip install sasl
        pip install thrift
        pip install thrift-sasl
        pip install PyHive

问题描述
导入pyhive包,connection连接hive时,报以下错误:

thrift.transport.TTransport.TTransportException: Could not start SASL: b’Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2’

message=(“Could not start SASL: %s” % self.sasl.getError()))
thrift.transport.TTransport.TTransportException: Could not start SASL: b’Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2’

解决方案:
方案1(建议采用):

1.寻找到sasl的安装位置,一般来说是如下位置
         C:\Users\本计算机的用户名字\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\sasl\sasl2
2. C盘新建文件夹 C:\CMU\bin\sasl2, 并将将 第一步中的saslPLAIN.dll拷贝到此目前下,参见下面截图。
image.png

3. 至此问题得到解决!

方案2:
 如有联网条件可采用:yum install cyrus-sasl-plain 进行处理。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。