pyhive连接报错,Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

1.背景

   python部署在不同的服务器,如果操作系统这些不同,很容易发生各种兼容问题,所以采用了docker镜像部署来避免这种问题,我采用的父镜像为:python:3.6.13,在通过requirments.txt安装了项目所需的各种依赖时,项目运行后,连接hive时,报错了

2.解决办法

    我这个镜像的操作系统是ubuntu的,所以安装以下依赖就解决了这个问题

RUN apt-get install -y   sasl2-bin libsasl2-2 libsasl2-dev libsasl2-modules

 如果是centos的,可以尝试下这个命令(我没有试过)

sudo yum install cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain

  虽然通过这些解决了这个问题,但是还是不知道造成这个问题的原因;python我之前的印象是简单好用,python确实是简单,但是开发好了,去其他服务器上部署的时候,如果操作系统这些不一样,即使都是linux的,如开发是ubuntu,部署是centos,也是各种兼容问题层出不穷,开发一小时,部署2天,太难受了。当然,也可能是我没有找到好的部署方式,目前想到稍微好点的就是通过docker镜像部署。另外python的版本兼容是不是也太烂了,开发用的是3.6,部署用了3.10,安装依赖的时候也能各种报错,这个也是服了,python后面后面还是好好学习下了。

你可能感兴趣的:(python,hive)