为了账号安全,请及时绑定邮箱和手机立即绑定

Ranger-Sqoop2插件安装

标签:
大数据

Ranger-Sqoop2插件安装,基于Ranger版本1.0.0,支持Sqoop2版本1.99.7。

1.获取安装包

scp root@10.43.159.11:/home/compile/ranger/target/ranger-1.0.0-SNAPSHOT-sqoop-plugin.tar.gz .

2.解压

tar -zxvf ranger-1.0.0-SNAPSHOT-sqoop-plugin.tar.gz

3.进入ranger-1.0.0-SNAPSHOT-sqoop-plugin,修改安装配置文件install.properties

主要修改如下配置项:

#拉取Ranger策略的地址和服务名称POLICY_MGR_URL=http://10.43.159.11:6080REPOSITORY_NAME=sqoopdev#Kylin组件安装的目录COMPONENT_INSTALL_DIR_NAME=/home/sqoop/sqoop-1.99.7-bin-hadoop200#审计日志保存地址XAAUDIT.SOLR.ENABLE=trueXAAUDIT.SOLR.URL=http://10.43.159.9:8983/solr/ranger_audits#Sqoop组件安装的用户和用户组CUSTOM_USER=sqoop
CUSTOM_GROUP=hadoop

4.使用root用户执行插件安装脚本

./enable-sqoop-plugin.sh

5.重启sqoop2组件

sqoop2-sever stop
sqoop2-sever start

6.验证策略生效

重启后可以在sqoop的服务器上面看到如下文件:
/etc/ranger/sqoopdev/policycache/sqoop_sqoopdev.json
在Ranger Web页面的Audit下面的Plugins查看插件状态。

Ranger页面创建sqoop服务:
Service Name=sqoopdev
Username=sqoop
Sqoop URL=http://10.43.159.11:12000
用户名最好填写安装用户的名字,此用户默认对sqoop的所有资源有访问权限。
点击TestConnection成功后,保存即可。

sqoopdev需要和上面插件安装的REPOSITORY_NAME名称一致,

Sqoop集成ranger插件,查看conf/sqoop.properties,应该有如下配置:
org.apache.sqoop.security.authorization.validator=org.apache.ranger.authorization.sqoop.authorizer.RangerSqoopAuthorizer

Sqoop插件集成开启Ranger,还将conf目录加入到sqoop启动的classpath中:
在bin/sqoop.sh脚本中的
function sqoop_server_classpath_set里面
新增如下配置:
CLASSPATH="$CLASSPATH":"/home/sqoop/sqoop2/sqoop-1.99.7-bin-hadoop200/conf"

7.开启Kerberos之后的插件问题

7.1

Sqoop2开启Kerberos安全模式后,Ranger Sqoop2插件拉取策略会失败:
2018-09-05 09:34:58,942 [http-bio-6080-exec-6] ERROR org.apache.ranger.rest.ServiceREST (ServiceREST.java:2784) - getSecureServicePoliciesIfUpdated(sqoopdev, 4) failed as User doesn't have permission to download Policy
2018-09-05 09:34:58,947 [http-bio-6080-exec-6] INFO  org.apache.ranger.common.RESTErrorUtil (RESTErrorUtil.java:345) - Request failed. loginId=sqoop, logMessage=User doesn't have permission to download policy
解决方法:
在Ranger Admin的Web页面修改sqoopdev服务,
在Add New Configurations添加如下配置项:
policy.download.auth.users=sqoop
sqoop用户为策略拉取用户,一般是Sqoop2组件用了启动Kerberos的用户。

7.2

在已经使用了Ranger权限控制之后,再来开启Kerberos,
需要重新创建sqoopdev服务,否则使用原来的服务TestConnction失败,
这是由于开启Kerberos之后,RangerAdmin使用rangerlookup/hostname@ZDH.COM去访问服务,
在新建服务的时候会把rangerlookup加入到默认创建出来的策略中,作为超级用户使用。



作者:木木与呆呆
链接:https://www.jianshu.com/p/3a2f9fa453f7


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消