目录

概览... 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. BZOJ1005 HNOI2008明明的烦恼(prufer+高精度)

    每个点的度数=prufer序列中的出现次数+1,所以即每次选一些位置放上某个点,答案即一堆组合数相乘.记一下每个因子的贡献分解一下质因数高精度乘起来即可. #include<iostream&g ...

  2. this view is not constrainted......

    this view is not constrainted 解决方案: <EditText android:id="@+id/editText" android:layout ...

  3. 洛谷P3870开关题解

    我们先看题面,一看是一个区间操作,再看一下数据范围,就可以很轻松地想到是用一个数据结构来加快区间查询和修改的速度,所以我们很自然的就想到了线段树. 但是这个题还跟普通的线段树不一样,这个题可以说要思考 ...

  4. Matplotlib学习---用seaborn画直方图,核密度图(histogram, kdeplot)

    由于直方图受组距(bin size)影响很大,设置不同的组距可能会产生完全不同的可视化结果.因此我们可以用密度平滑估计来更好地反映数据的真实特征.具体可参见这篇文章:https://blog.csdn ...

  5. zabbix3.4.6之监控Oracle

    新zabbix搭建配置完后,公司所有的主机是通过自动注册完成了添加,网络设备及其Templates是从旧zabbix中Export出模板,然后Import入新zabbix系统中.一些应用的监控就需要自 ...

  6. Java 枚举 的学习

    在JDK5.0之后,引进了一种与C语言相通的枚举类型. 所谓枚举类型就是指含有一组具有固定值, 并且容量有限的数据集合. 例如,定义一个星期的枚举类型, 从周一到周日是具有固定大小和固定值的集合 pu ...

  7. 【BZOJ5291】[BJOI2018]链上二次求和(线段树)

    [BZOJ5291][BJOI2018]链上二次求和(线段树) 题面 BZOJ 洛谷 题解 考虑一次询问\([l,r]\)的答案.其中\(S\)表示前缀和 \(\displaystyle \sum_{ ...

  8. Nginx代理MysqlCluster集群(二)

    Nginx代理MySql集群本次实验采用nginx 版本1.12以上 集合了tcp代理功能只需在编译时明文开启指定的功能 --with-stream--prefix=/usr/local/ngin - ...

  9. Atlantis HDU - 1542 (扫描线,线段树)

    扫描线的模板题,先把信息接收,然后排序,记录下上边和下边,然后用一条虚拟的线从下往上扫.如果我扫到的是下边,那么久用线段树在这个区间内加上1,表示这个区间现在是有的,等我扫描到上边的时候在加上-1,把 ...

  10. 2019 校内赛 RPG的地牢猎手(bfs+优先队列)

    Problem Description Luke最近沉迷一款RPG游戏,游戏中角色可以进入地牢关卡,只要顺利走出地牢就可以获得奖励.地牢表示为n行m列的块矩阵,其中每个块只可以是障碍块.入口.出口或数 ...