MRS Hive连接ZooKeeper时报错“ConnectionLoss for hiveserver2”
问题现象
使用MRS 1.8集群的Hive 1.2.1通过Hive的JDBC接口连接MRS集群成功,但是使用MRS 1.9.0集群的Hive 2.3.2,通过Hive的JDBC接口连接MRS集群进行计算任务报错。
报错信息如下:
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hiveserver2
原因分析
MRS 1.8版本和开源版本认证方式一样,在Hive的URL中直接将Kerberos认证的文件传进去进行认证。而在MRS 1.9版本中,此方法行不通,需要先进行Kerberos认证,并且需要获取一些别的配置信息,然后再进行URL拼接。
处理步骤
请参考官方MRS 1.9样例工程中hive-examples的认证连接,样例地址请参考开发指南。
建议与总结
在官方MRS 1.9的样例基础进行代码开发。