Apache Ranger大数据权限管理框架编译及安装

 一、Apache Ranger是什么?

Apache Ranger是一个框架,Hadoop上对于保护数据数据安全性的安全框架。用于在整个Hadoop平台上启用,监视和管理全面的数据安全性。

二、特性

Apache Ranger具有以下特性:

  • 集中式安全管理,可在中央UI或使用REST API管理所有与安全相关的任务。
  • 使用Hadoop组件/工具执行特定操作和/或操作的精细授权,并通过中央管理工具进行管理
  • 跨所有Hadoop组件标准化授权方法。
  • 增强了对不同授权方法的支持-基于角色的访问控制,基于属性的访问控制等。
  • Hadoop的所有组件中集中审核用户访问和管理操作(与安全性相关)。

 三、RANGER内部结构 

 1、包含的组件如下:

  • Ranger Admin 用户管理策略,提供WebUIRestFul接口
  • Ranger UserSync 用于将Unix系统或LDAP用户/组同步到RangerAdmin
  • Ranger TagSync 同步Atlas中的Tag信息
  • Ranger KMS

2、依赖的组件如下:

  • JDK 运行RangerAdmin RangerKMS
  • RDBMS 1.存储授权策略 2.存储Ranger 用户/ 3.存储审核日志
  • Solr(可选) 存储审核日志
  • HDFS(可选) 存储审核日志
  • Kerberos(可选) 确保所有请求都被认证

3、当前2.1.0支持的组件如下: 

  • YARN
  • HDFS
  • SOLR
  • KYLIN
  • ATLAS
  • OZONE
  • HBASE
  • KNOX
  • KAFKA
  • NIFI-REGISTRY
  • ELASTICSEARCH
  • HIVE
  • STORM
  • NIFI
  • SQOOP
  • PRESTO

4、处理流程如下: 

四、编译

Ranger当前在GitHub中最新版本是2.2.0。安装ranger需要源码安装,官方没有提供编译好的二进制包,同时,对于要使用ranger部署的Hadoop组件,需要考虑到版本之间的兼容性。

官网地址:https://ranger.apache.org/
Git地址:https://github.com/apache/ranger

前提条件

  • JDK 8
  • Maven 3.6.2

下载地址

maven配置阿里云仓库,这样下载能快些。

GIt

yum install git -y

Python3 这里是需要安装的,官方给的是需要py3

yum install -y python3

yum install -y bzip2

yum -y install fontconfig-devel

pip3 install requests

下载

wget https://mirror.bit.edu.cn/apache/ranger/2.1.0/apache-ranger-2.1.0.tar.gz 

这里我们选择的是2.1.0版本 官方最新版本是2.2.0

git clone --branch release-ranger-2.1.0 https://github.com/apache/ranger.gi

编译RANGER-2.1.0

/opt/ranger-release-ranger-2.1.0
mvn clean compile package install -DskipTests -Drat.skip=true

约十多分钟或者更长(时间取决于当前网络和配置环境),可编译完成,过程中可能出现编译错误,根据错误信息进行逐条解决。

编译RANGER-2.1.0

/opt/ranger-release-ranger-2.1.0
mvn clean package install -Dmaven.test.skip=true -X出现
Could not resolve dependencies for project org.apache.ranger:ranger-kylin-plugin:jar:2.1.

修改ranger-release-ranger-2.1.0/plugin-kylin的pom.xml文件
<dependency>
    <groupId>org.apache.kylin</groupId>
    <artifactId>kylin-server-base</artifactId>
    <version>${kylin.version}</version>
    <scope>provided</scope>
    <exclusions>
        <exclusion>
            <groupId>org.apache.kylin</groupId>
            <artifactId>kylin-external-htrace</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.calcite</groupId>
            <artifactId>calcite-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.calcite</groupId>
            <artifactId>calcite-linq4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>
约10多分钟,可编译完成,过程中可能出现编译错误,根据错误信息进行逐条解决。


 
注意:编译ranger-2.0.0和ranger-2.1.0的maven命令是不同的,用ranger-2.0.0的命令来编译2.1.0时会编译失败
在ranger-release-ranger-2.1.0/target目录下生成以下文件:

五、安装RANGER-ADMIN


安装ranger-admin的机器可以不在Hadoop集群内部,可以是随便一台。这里我就安装在当前机器上。
1、解压admin软件包
tar zxvf ranger-2.1.0-admin.tar.gz -C /opt/ranger-2.1.0-admin

2、修改install.properties文件
注:ranger-admin依赖数据库,需要存储信息。安装数据库操作请自行百度。
cd /opt/ranger-2.1.0-admin

修改install.properties文件,需要修改的信息如下:
(1)数据库配置:
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar #sql连接器,需要从官网下载,然后修改成该名字,当然也可以自己定义

db_root_user=root       #数据库用户名
db_root_password=*****  #数据库密码
db_host=localhost       #数据库主机,如果不在一台机器,请修改

以下三个属性是用于设置ranger数据库的
db_name=ranger    #数据库名字
db_user=root      #管理数据库的用户
db_password=****  #密码

(2)、审计日志
如果没有安装solr,这里可以全部注释
audit_store=solr
audit_solr_urls=http://localhost:6083/solr/ranger_audits
audit_solr_user=solr

(3)、策略管理配置
policymgr_external_url=http://localhost:6080   #配置用户名和端口,如果不想使用默认值,可以修改。

ranger在连接数据库的时候,对于密码强度要求很高,当然,这也是由于数据库的密码策略导致的,如果设置的密码不符合数据库的密码策略,那么ranger连接数据库会失败,同时,还需要在数据库里面赋予相应的权限。如下:
mysql5.7数据库密码策略:大小写+数字+特殊字符+密码长度>8
create database `ranger2` CHARACTER SET utf8 COLLATE utf8_general_ci;  #创建数据库
grant all on *.* to 'root'@'%' identified by 'your password';
flush privileges;


六、初始化RANGER-ADMIN


cd /opt/ranger-2.1.0-admin
./setup.sh

如果初始化ok,启动admin
如果执行的过程中报:
SQLException : SQL state: 42000 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'root'@'%' to database 'ranger' ErrorCode: 1044

连接数据库,执行:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

七、启动RANGER-ADMIN


ranger-admin start 


cd /opt/ranger-2.1.0-admin
./ews/ranger-admin-services.sh start 

启动服务
Ranger的默认端口是6080,如果需要修改,请修改install.properties配置文件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

angelasp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值