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:6080
REPOSITORY_NAME=sqoopdev
#Kylin组件安装的目录
COMPONENT_INSTALL_DIR_NAME=/home/sqoop/sqoop-1.99.7-bin-hadoop200 #审计日志保存地址
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.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加入到默认创建出来的策略中,作为超级用户使用。

8.参考文档:

https://cwiki.apache.org/confluence/display/RANGER/Sqoop2+Plugin

Ranger-Sqoop2插件安装的更多相关文章

  1. Ranger-Kafka插件安装

    Ranger-Kafka插件安装, 使用Ranger0.7.0版本,集成Kafka插件到Kafka集群, Kafka Plugin需要安装到所有的Kafka的集群节点上面. 1.登陆Kafka的安装用 ...

  2. Ranger-Kylin插件安装

    Ranger-Kylin插件安装, 从Ranger1.1.0版本开始支持Ranger Kylin插件, 从Kylin2.3.0版本开始支持Ranger Kylin插件的权限控制. 1.获取安装包 sc ...

  3. [Android Studio]SQLScout插件安装破解

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...

  4. elasticsearch5.0及head插件安装

        这个瞎jb整了半天.准备把es2.4升级到5.0,结果老报错 环境:centos6.5+es2.4是ok的换成es5就出毛病.也不能说啥 ,我用的是最新的 源码解压启动时候报错,具体错误for ...

  5. subtext3插件安装

    1.启用Package Control,利用它进行插件安装: 启用方法:菜单栏-view-show console 在弹出的输入框内,输入以下代码,按回车,稍后会出现package control安装 ...

  6. webapp应用---cordova.js 3.7.0插件安装总结

    今天是2014年的最后一天,年终总结什么的就不写了.记录一下今天的工作内容.如果不知道phoneGap,那么就不需要往下看了,phoneGap现在已经叫cordova了,叫什么不重要,重要的是它对we ...

  7. 分布式搜索引擎ElasticSearch+Kibana (Marvel插件安装详解)

    在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsear ...

  8. Sublime text3 常用插件 安装

    1 安装插件前的准备工作 首先确保你的Sublime Text3编辑器为官方版(非破解版),建议下载官网的便携版本(好处多多). 然后安装插件管理工具(Package Control) 1.1 打开S ...

  9. HttpFox插件安装和打开教程

    HttpFox插件安装教程 1.打开火狐浏览器,选择右上角的打开菜单 2.选择附加组件,在获取附件组件栏中搜索HttpFox插件 3.找到HttpFox插件选择安装 4.安装完成后选择左边的扩展栏确认 ...

随机推荐

  1. Default Assignment Operator and References

    We have discussed assignment operator overloading for dynamically allocated resources here . This is ...

  2. Linux:find命令中

    默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('\n'), 因此我们看到的 find 的输出都是一行一行的: ls -l total 0 -rw-r--r-- 1 root ...

  3. springmvc框架找那个@responseBody注解

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><html& ...

  4. 添加用户的jsp页面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><!-- H ...

  5. jQuery中的html()、text()和val()的用法

    1.html() 获得的是第一个符合要求的标签中的所有内容,例如: var content = $("li").html(); <li>111<p>999& ...

  6. 【转】在本地运行leetcode核心代码

    https://zhuanlan.zhihu.com/p/342993772 在调用solution之前,要加一句 Solution solution; solution.函数名(输入变量); 以下是 ...

  7. 莫烦python教程学习笔记——利用交叉验证计算模型得分、选择模型参数

    # View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: ht ...

  8. pipeline post指令

    目录 一.介绍 二.参数说明 三.使用实例 一.介绍 post步骤包含的是在整个pipeline或阶段完成后一些附加的步骤.post步骤是可选的,所以并不包含在声明式pipeline最简结构中,但这并 ...

  9. Spring Cloud Alibaba微服务架构入门最容易理解篇

    微服务架构介绍 Spring Cloud Alibaba推荐的微服务生态架构基于分层架构实现如下: 接入层:最外层为LVS+Keepalived,可承受几十万级高并发流量洪峰,然后再通过内层的ngin ...

  10. CF1041B Buying a TV Set 题解

    Content 给定四个数 \(a,b,c,d\),求满足以下条件的数对 \((x,y)\) 的个数: \(x\leqslant a,y\leqslant b\). \(\dfrac{x}{y}=\d ...