背景:
最近遇到一个hive连接问题,测试环境可以连接,但上了生产却连接不上了。报错:
Could not start SASL:b'Error in sasl_client_start(-4)SASL(-4):no mechanism available:No worthy mechs found'
项目页面报错图:
解决:缺少包,安装cyrus所有5个包即可
下载链接:https://pan.baidu.com/s/13qTcsUxXgwKFki9tPwODxA
提取码:6xy5
下面是涉及到的相关指令
docker cp /tmp/cyrus-sasl-gssapi-2.1.26-23.el7.xxx.rpm
docker cp /tmp/cyrus-sasl-plain-2.1.26-23.el7.xxx.rpm //将包复制到容器中
docker exec -it youcash-archery bash //进入容器
rpm -ivh /tmp/cyrus-sasl-*.rpm // 安装包
rpm -qa |grep sasl //查询是否有安装成功sasl相关包
pip list|grep sasl //查询python项目中是否有安装sasl相关包
测试环境可以连接:
使用rpm 进行查询
生产环境不能连接:
使用rpm进行查询
结论:
生产环境查询只有两个包,少了三个包,所以报sasl错误。装上就ok。
另:windos环境是不需要安装这些包的,只有linux才需要安装这些包。
参考文档:https://blog.csdn.net/qq_15821487/article/details/116529871