项目场景:

  安装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拷贝到此目前下,参见下面截图。


3. 至此问题得到解决!

方案2:

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

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐