目录

概览... 2

1.      ranger-admin. 2

2.      ranger-user-sync. 2

3.      ranger-*-plugins. 2

安装... 3

1.      ranger-admin: 3

2.      ranger-user-sync: 4

3.      ranger-hdfs-plugin: 5

4.      ranger-hive-plugin: 6

概览

1.      ranger-admin

ranger的中心节点,所有鉴权访问都必须经过这个节点.

(可load balancer,请求是走HTTP协议的)

2.      ranger-user-sync

同步user/group等信息到admin节点.

比如有些用户和组并不在admin节点的机器上存在的.

但在各个权限控制plugin中又有定义的,是通过这个服务同步.

3.      ranger-*-plugins

各个实际的鉴权组件的hook点实现.

存在在各个服务(如HDFS)等的进程内.

安装

1.      ranger-admin:

  1. 安装mysql,用于存放ranger的各种鉴权定义的存放等.
  2. 解压缩ranger-0.7.1-admin.tar.gz
  3. 准备solr audit(ranger会将audit log写入这个solr)

1)         . cd ./contrib/solr_for_audit_setup

2)         修改install.property

# 所使用的solr的程序安装目录

SOLR_INSTALL_FOLDER=

# ranger对应的solr配置等(只需建立起空目录即可,后面自带脚本会做准备)

SOLR_RANGER_HOME=

# ranger对应的solr的数据存放位置(只需建立起空目录即可,后面自带脚本会做准备)

SOLR_RANGER_DATA_FOLDER=

# ranger audit在solr上的collection名字,默认为ranger_audits

SOLR_RANGER_COLLECTION=

3)         执行./contrib/solr_for_audit_setup/setup.sh

4)         启动(root):

${SOLR_RANGER_HOME}/scripts/start_solr.sh

停止(root):

${SOLR_RANGER_HOME}/scripts/stop_solr.sh

  1. 配置admin.

1)         修改install.property

# 配置所使用的mysql的root用户连接信息(需自行保证mysql这方面的权限).

db_root_user=

db_root_password=

db_host=

# ranger所使用的mysql的数据库和用户信息(后面会有自带脚本创建维护,不需手工建立)

db_name=

db_user=

db_pasword=

# 使用solr存储audit

audit_store=solr

# ranger使用的solr collection地址.

# 如果slor的设置使用默认SOLR_RANGER_COLLECTION即ranger_audit的话.

# 为http://${solr_host}:6083/solr/ranger_audits

audit_solr_urls=

# mysql JDBC的jar包路径

SQL_CONNECTOR_JAR=

2)         执行setup.sh(root)

这个脚本会建立mysql上的库信息

并会放置各个脚本到标准目录(类RPM包install动作)

3)         启动(root):

ranger-admin start

停止(root):

ranger-admin stop

4)         访问:

http://${host}:6080

默认口令admin:admin

2.      ranger-user-sync:

  1. 解压缩ranger-0.7.1-usersync.tar
  2. 修改install.property

# 即ranger admin的地址

# 如http://${host}:6080

POLICY_MGR_URL=

  1. 执行setup.sh(root)

放置各个脚本到标准目录(类RPM包install动作)

  1. 启动(root)

ranger-usersync start

停止(root):

ranger-usersync stop

3.      ranger-hdfs-plugin:

  1. 在各个namenode上解压缩ranger-0.7.1-hdfs-plugin.tar.gz
  2. 修改install.property

# 即ranger admin的地址

# 如http://${host}:6080

POLICY_MGR_URL=

# 配置slor audit log

XAAUDIT.SOLR.ENABLE=true

# ranger使用的solr collection地址.

# 如果slor的设置使用默认SOLR_RANGER_COLLECTION即ranger_audit的话.

# 为http://${solr_host}:6083/solr/ranger_audits

XAAUDIT.SOLR.URL=

# ranger上hdfs的policy ID/名字

# 如hadoopdev

REPOSITORY_NAME=

  1. namenode上的调整.

1)         确保存在HADOOP_HOME环境变量

2)         确保${HADOOP_HOME}/conf存在并指向实际使用的conf目录.

3)         执行./enable-hdfs-plugin.sh(root)

copy ${HADOOP_HOME}/lib下的ranger相关jar和目录到${HADOOP_HOME}/share/hadoop/hdfs/lib

trouble shooting:

这个是保证namenode进程的classpath能找到ranger的jar包.

原理是ranger重新实现了dfs.namenode.inode.attributes.provider.class,hook了namenode上的RPC请求.

所以前面需要知道conf的目录便于重新生成hdfs-site.xml

4)         重新启动namenode和zkfc即可.

5)         验证:

hdfs mkdir等读写操作一下应该可以在admin server的web ui看到相关audit信息

4.      ranger-hive-plugin:

  1. 在hive thrift server上解压缩ranger-0.7.1-hive-plugin.tar.gz
  2. 修改install.property

# 即ranger admin的地址

# 如http://${host}:6080

POLICY_MGR_URL=

# 配置slor audit log

XAAUDIT.SOLR.ENABLE=true

# ranger使用的solr collection地址.

# 如果slor的设置使用默认SOLR_RANGER_COLLECTION即ranger_audit的话.

# 为http://${solr_host}:6083/solr/ranger_audits

XAAUDIT.SOLR.URL=

# ranger上hive的policy ID/名字.如hivedev

REPOSITORY_NAME=

  1. 修改hive-site.xml

添加:

<property>

<name>hive.server2.enable.doAs</name>

<value>false</value>

<description>

在thrift server上关闭doAS.

开启的话,一个访问需要同时控制hdfs和hive的访问权限,坏处在于不容易维护.

关闭的话,只需要维护hive的访问权限即可,坏处是所有查询在鉴权后都是以hive用户跑.

</description>

</property>

  1. 执行./enable-hive-plugin.sh(root)

原理类似ranger-hdfs-plugin

  1. 重新启动hive thrift server即可.
  2. 验证:

通过beeline访问thrift做查询读写应该就能在web ui看到相关audit信息

ranger部署文档(记)的更多相关文章

  1. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

  2. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  3. supervisor 部署文档

    supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...

  4. centos6 Cacti部署文档

    centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...

  5. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  6. Sqlserver2008安装部署文档

    Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...

  7. CDH简易离线部署文档

        CDH 离线简易部署文档       文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...

  8. Ceph分布式存储(luminous)部署文档-ubuntu18-04

    Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G me ...

  9. rabbitmq 3.7.8基于centos7部署文档

    rabbitmq 3.7.8部署文档 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel ope ...

随机推荐

  1. scrapy 登陆知乎

    参考 https://github.com/zkqiang/Zhihu-Login # -*- coding: utf-8 -*- import scrapy import time import r ...

  2. groovy的效率问题

    刚开始学groovy,知道了它会先变异成class 文件,然后再用jvm 执行.写了Hello World程序,查看它的编译文件,发现groovy的效率挺低的.不但编译文件的代码多,而且需要依赖很多g ...

  3. VIM 光标移动常用命令

        h或^h 向左移一个字符  k或^p 向上移一行 j或^j或^n 向下移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开头 W 移到下一个字 ...

  4. Android stadio 生成项目 Plugin with id 'com.android.application' not found

    buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2. ...

  5. 「AtCoder Grand018A」Getting Difference(GCD)

    题目链接A - Getting Difference 题意 有n(1~\(10^5\))个数\(A_i\) (1~\(10^9\)),每次选两个数,将它们的差的绝对值加入这堆数.问k(1~\(10^9 ...

  6. vim 高级编辑技巧

    建议参考IBM官方文档https://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/ 重新输入以前输入过的某条命令Ctrl + r 全局替换格式:& ...

  7. IP地址等价类测试用例

    下面是一个比较完善的设计方案,这个方案中,首先把IP地址分成有效可用的IP地址和有效但不可用的IP地址两个等价类:其中有效可用的IP地址中包括IP地址的A,B,C三类地址,有效但不可用的IP地址包括D ...

  8. SHOI2008仙人掌图(tarjan+dp)

    Solution 好题啊没的说. 本题需要求出仙人掌的直径,但仙人掌是一个带有简单环的一张图无法直接用树形dp求解,但它有一个好东西就是没有类似环套环的东西,所以我们在处理时就方便了一些. 思路:ta ...

  9. 源码分析-AutoCloseable

    AutoCloseable 该接口用于try-with-resources语法糖提供支持,用于自动关闭资源作用 类型:接口 方法:close(); 详解: close():用于自动关闭资源的时候需要进 ...

  10. 牛客寒假算法基础集训营3处女座和小姐姐(三) (数位dp)

    链接:https://ac.nowcoder.com/acm/contest/329/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...