这篇文章主要介绍CDH5.14如何集成ranger0.5.3,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
CDH5.14的hive版本是1.1.0,经过1周的尝试,开始选择了ranger最新版本1.2.0,最后jdbc连接时因为hive-jdbc版本和hive版本不匹配报错,所以选择ranger0.5.3版本做了集成测试,过程中还是出现了一些问题,感觉hontonworks和cloudera之间不太兼容啊。。。暂时还不是很完美,不过最终算是完成了。
首先安装ranger-admin。
1.cd /home/ranger
下载ranger的tar包:
wget https://archive.apache.org/dist/incubator/ranger/0.5.3-incubating/apache-ranger-incubating-0.5.3.tar.gz
解压tar包:
2.tar -xzvf apache-ranger-incubating-0.5.3.tar.gz
然后 进入解压后的目录:
3./home/ranger/apache-ranger-incubating-0.5.3.tar.gz
编译整个项目,时间比较久,建议nohup挂在后台:
4.nohup mvn clean compile package assembly:assembly install -DskipTests=true -Drat.skip=true -Dmaven.test.skip=true > maven.log &
编译之前先解决一个问题,否则编译通不过:
1.python版本,要python2.7才可以,用2.6或者3都会出现问题,
编译完了之后进入目录
/home/ranger/apache-ranger-1.2.0/target
我们需要的文件都构建好了
我们先把ranger-admin安装先,cp到/usr/local
cp /home/ranger/apache-ranger-incubating-0.5.3/target/ranger-0.5.3-admin.tar.gz /usr/local
解压:
tar -xzvf /usr/local/ranger-0.5.3-admin.tar.gz
进入/usr/local/ranger-0.5.3-admin
修改下install.properties中的配置项,然后
使用root用户执行
bash /usr/local/ranger-0.5.3-admin/setup.sh
就安装好了
然后执行ranger-admin start 即可启动ranger-admin;
浏览器http://hostname:6080如下登录界面,admin/admin 即可登录
用户名:admin
密码:admin
这里着重写一下ranger-hive-plugin的配置和安装。
ranger源码编译完成之后,在ranger目录下有hive插件的包:
/home/ranger/apache-ranger-incubating-0.5.3/target/ranger-0.5.3-hive-plugin.tar.gz
把这个包cp到hiveserver的节点上,放在hive安装目录同级的路径下,比如我们用的cdh,一般hive安装目录在/opt/cloudera/parcels/CDH/lib/hive/,所以我们把ranger-hive-plugin放在/opt/cloudera/parcels/CDH/lib这个目录下,之所以这么做,是因为
等下ranger-hive-plugin集成到hive里面会默认去它的相对路径找依赖jar包,放在这里直接就可以找到,不用像网上说的那样还要去建软连接。
之后修改/opt/cloudera/parcels/CDH/lib/ranger-0.5.3-hive-plugin/install.properties
中配置信息,改完之后运行enable-hive-plugin.sh脚本,在重启hiveserver2,ranger的配置即可生效,不过从cdh中启动hiveserver2是不会生效的,因为它不会去读取hive安装路径下的config目录,而是会动态生成一个config目录,只能手动去启动
命令是 hive –service hiveserver2
后面看看能不能解决这个问题
进入ranger admin的,添加hive规则,测试jdbc连通性会报错,因为我们下的ranger版本自带的是hive1.2.0的版本,hive-jdbc的版本我我们使用的hive版本不同,所以我们要把admin下相关jar包更换掉,
/usr/local/ranger-0.5.3-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive这个目录下,hive1.2有关的包全部换成我们使用的版本,相关的包都可以在cdh安装路径下可以找到(/opt/cloudera/parcels/CDH-5.14.0-1.cdh6.14.0.p0.24/lib/hive/lib/)
之后就可以正常使用了,用beeline客户端测试ranger使用正常,不过用hue的时候会报错,错误信息显示:java.lang.IllegalArgumentException:Cannot modify hive.server2.proxy.user at runtime.,大概是hive查询的代理用户没有权限去查询,所以需要把一些系统用户加入到hive的白名单中,
在hive-site.xml中添加:
<property>
<name>hive.security.authorization.sqlstd.confwhitelist.append</name>
<value>mapred.|hive.|mapreduce.|spark.</value>
</property>
<property>
<name>hive.security.authorization.sqlstd.confwhitelist</name>
<value>mapred.|hive.|mapreduce.|spark.</value>
</property>
即可
以上是“CDH5.14如何集成ranger0.5.3”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/207682.html