Ranger2.0版本与Hive的兼容性问题

最近在研究hdfs,hive与ranger配合完成ACL访问控制,本文总结下遇到的问题。

ranger-admin的安装部署与ranger的hdfs插件、hive插件的安装,官网有简单描述,过程也比较简单,另外网上还有很多文章详细说明,就不展开描述。

ranger-admin,ranger的hdfs插件都安装部署好后,在ranger-admin的web界面上配置对应的策略就可以实现HDFS文件/目录的访问控制了。

但在ranger的hive插件安装部署好后,出现ranger-admin连不上hive的现象。网上搜索了一翻,发现ranger中连接hive的相关jar包都是3.0版本的,而我们实际使用的hive版本是2.X,版本不匹配,所以出现连接失败的报错。

这个问题的解决办法是将ranger-admin中hive相关的jar包都删除,然后从hiveserver中拷贝相关的包到ranger-admin对应目录中。

再次测试,连接成功,但又报了新的错误。同时发现在hiveserver节点上,使用beeline可以正确连接hive,但执行任何sql语句均报错,例如:

而另外一台未安装ranger插件的hiverserver节点,使用beeline连接并执行sql语句则没有任何问题。因此怀疑新的问题是和ranger的hive插件有关。

查看了hiveserver的报错信息,并结合hive的源码,发现了问题:ranger的hive插件进行权限控制过程中会判断sql操作类型,而该类型的定义是在3.0以上版本才有的。即ranger2.0版本不支持hive2.X版本。

解决办法:重新编译了ranger-1.2版本,这次仅将编译后的插件安装到hiveserver中,也就是ranger-admin使用的是2.0版本并使用hive2.X版本的相关jar包,hiverserver中的ranger插件是1.2版本的。

正确安装部署后,暂时还未遇到什么坑,hiveserver中的beeline连接查询都正常,同样ranger-admin也能正确连接hive并进行查询,简单验证相关的访问控制策略也能正确生效。

当然,将hive升级到3.X版本配套ranger的2.0版本可能会是更好的选择。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值