说明
本文用的是gethue/hue image起的docker容器,版本为hue 4.3.0,镜像本身没有kerberos组件,需自行安装。
在用hue连接hive时遇到kerberos认证问题,报错如下:
Could not start SASL:Error in sasl_client_start (-1) SASL (-1): generic failure:GSSAPI Error: Unspecified GSS failure. Minor code may provide more information(No Kerberos credentials available)
本文针对性解决HUE认证kerberos连接hive。至于其他问题不进行扩展和深入
提前准备
kerberos认证文件,本文为:newland.keytab
hive的配置文件。hive-site.xml
主机认证Kerberos
认证kerberos时注意 krb5.conf是否修改,是否配置了/etc/hosts,是否进行了时间同步,命令是否正确等
记住认证完的缓存文件,下面配置时要用
修改hue配置文件
vi /hue/desktop/conf/pseudo-distributed.ini
/hue/desktop/conf/pseudo-distributed.ini 是docker hue的hue配置文件
修改kerberos配置
将认证完的票据缓存的路径配置到ccache_path(关键一步)
修改时区
这一步我是为了好查看日志,没进行单一变量测试,不确定对连接是否有影响
配置hive配置
查看hive-site.xml配置文件获取kerberos.principal,记住FQDN:本文为x(马赛克)my1
主要修改下面三个地方。hive_server_host一定要配置上面的FQDN(至关重要)
确定/etc/hsots配置了FQDN
启动HUE
连接hive模块的日志无报错,连接hive成功
至此本文结束,若有疑问可留言或者发送邮件到718429427@qq.com,谢谢。
分享一篇博客,有兴趣的可以看下:
HUE 4.1 源码解读及修改兼容中国移动苏研BCH1.3.4集群适应BCID认证体系