Ranger安装和使用

Ranger部署

1.准备
1.1 编译

Ranger编译(已经编译过的话,直接看1.2)

1.1.1 准备到Ranger官网下载ranger的源码:http://ranger.apache.org/download.html

1.1.2 Ranger编译的过程实在非虚拟机环境下完成的,下载好ranger源码后并解压,然后进入源码解压目录执行如下命令进行编译:

cd /Users/fan/Downloads/apache-ranger-2.0.0 mvn clean compile package assembly:assembly install -Dmaven.test.skip=true mvn clean install -DskipTests -Denforcer.skip=true

1.1.3 将编译好的tar包上传到bigdb03

rsync -r share/ root@172.16.1.228:/data/fan/install/native/10.ranger/package/

1.2 数据库环境准备

1.2.1 登录mysql (之前安装hive时候装的那个mysql)

root@bigdb01 \~# docker exec -it mysql-hive bash root@bigdb01:/# mysql -uroot -phz310012

1.2.2 创建Ranger存储数据的数据库

mysql> create database ranger;

1.2.3 创建用户

复制代码
mysql> grant all privileges on ranger.* to ranger@'%' identified by '@#QWEASD123';
2.安装RangerAdmin
2.1 解压软件
复制代码
[root@bigdb01 ~]# rsync root@bigdb03:/data/fan/install/native/10.ranger/package/ranger-2.0.0-admin.tar.gz /opt/software 
[root@bigdb01 ~]# mkdir /opt/module/ranger 
[root@bigdb01 ~]# tar -zxvf /opt/software/ranger-2.0.0-admin.tar.gz -C /opt/module/ranger/
2.2 配置install.properties文件
复制代码
[root@bigdb01 ~]# vim /opt/module/ranger/ranger-2.0.0-admin/install.properties

修改以下内容:

2.3 在root用户下,执行安装

注意:ranger2.0需要用python2执行,RHEL9自带python3.9,所以需要自己安装python2

复制代码
[root@bigdb01 ~]# cd /opt/module/ranger/ranger-2.0.0-admin/ [root@bigdb01 ranger-2.0.0-admin]# ./setup.sh

出现以下字样,表示安装成功

2.4 创建ranger的配置文件软连接到web下

root@bigdb01 ranger-2.0.0-admin# ./set_globals.sh usermod: no changes 2023/08/18 15:53:49: I Soft linking /etc/ranger/admin/conf to ews/webapp/WEB-INF/classes/conf

2.5 启动 RangerAdmin

2.5.1 配置RangerAdminweb应用的配置信息

root@bigdb01 \~# cd /etc/ranger/admin/conf/ root@bigdb01 conf# vim ranger-admin-site.xml

修改内容如下

2.5.2 启动

root@bigdb01 conf# ranger-admin start

启动成功

2.5.3 查看启动后的进程

root@bigdb01 conf# jps 47556 EmbeddedServer 47621 Jps

2.5.4 停止 ranger

root@bigdb01 conf# ranger-admin stop

2.6 登录管理员用户

默认admin,密码@#QWEASD123

3.安装RangerUsersync
3.1 解压

root@bigdb01 \~# rsync root@bigdb03:/data/fan/install/native/10.ranger/package/ranger-2.0.0-usersync.tar.gz /opt/software root@bigdb01 \~# tar -zxvf /opt/software/ranger-2.0.0-usersync.tar.gz -C /opt/module/ranger/

3.2 配置

root@bigdb01 software# cd /opt/module/ranger/ranger-2.0.0-usersync/ root@bigdb01 ranger-2.0.0-usersync# vim install.properties

配置内容如下

3.3 使用root用户进行安装

root@bigdb01 ranger-2.0.0-usersync# ./setup.sh

出现如下信息,说明安装成功

3.4 RangerUsersync 启动

3.4.1 启动前

3.4.2 使用root启动

root@bigdb01 ranger-2.0.0-usersync# ./ranger-usersync-services.sh start

启动后再次查看用户信息

4.Ranger Hive-plugin
4.1 安装
4.1.1 解压软件
复制代码
[root@bigdb01 ~]# rsync root@bigdb03:/data/fan/install/native/10.ranger/package/ranger-2.0.0-hive-plugin.tar.gz /opt/software 
[root@bigdb01 ~]# tar -zxvf /opt/software/ranger-2.0.0-hive-plugin.tar.gz -C /opt/module/ranger/
4.1.2 配置软件

root@bigdb01 \~# vim /opt/module/ranger/ranger-2.0.0-hive-plugin/install.properties

配置内容如下

4.1.3 引用hive配置文件

将hive的配置文件作为软连接安装到 Ranger Hive-plugin 目录下

root@bigdb01 ranger-2.0.0-hive-plugin# ln -s /opt/module/hive/conf/ conf

4.1.4 启动

使用root用户启动Ranger Hive-plugin

root@bigdb01 ranger-2.0.0-hive-plugin# ./enable-hive-plugin.sh

4.1.5 重启hive

root@bigdb01 ranger-2.0.0-hive-plugin# hiveservice.sh restart

4.2 权限管理
复制代码
[root@bigdb01 ~]# beeline 
beeline> !connect jdbc:hive2://bigdb01:10000 
Connecting to jdbc:hive2://bigdb01:10000 
Enter username for jdbc:hive2://bigdb01:10000: admin 
Enter password for jdbc:hive2://bigdb01:10000: hz310012 
Connected to: Apache Hive (version 3.1.2) Driver: Hive JDBC (version 3.1.2) Transaction isolation: TRANSACTION_REPEATABLE_READ 0: 
jdbc:hive2://bigdb01:10000>

如果报以下错误,要修改/tmp权限

4.2.1 读写权限

为zion用户配置dd库student表的读的权限。

复制代码
[root@bigdb01 ~]# beeline 
beeline> !connect jdbc:hive2://bigdb01:10000 
Enter username for jdbc:hive2://bigdb01:10000: zion 
Enter password for jdbc:hive2://bigdb01:10000: **** 
0: jdbc:hive2://bigdb01:10000> use dd; 
0: jdbc:hive2://bigdb01:10000> select * from student; 
0: jdbc:hive2://bigdb01:10000> select sname,sbirth from student;

看下效果

4.2.2 脱敏操作

注意要配合的用户或者用户组必须已具备查看权限

看下效果

4.2.3 行级别过滤

注意 过滤条件中的字段必须是当前用户有权限查看的。

看下效果

5.Ranger yarn-plugin
5.1安装
5.1.1 解压软件
复制代码
[root@bigdb01 ~]# rsync root@bigdb03:/data/fan/install/native/10.ranger/package/ranger-2.0.0-yarn-plugin.tar.gz /opt/software 
[root@bigdb01 ~]# tar -zxvf /opt/software/ranger-2.0.0-yarn-plugin.tar.gz -C /opt/module/ranger/
5.1.2 修改配置文件
复制代码
[root@bigdb01 ~]# cd /opt/module/ranger/ranger-2.0.0-yarn-plugin/ 
[root@bigdb01 ranger-2.0.0-yarn-plugin]# vim install.properties
5.1.3 使yarn-plugin生效

root@bigdb01 ranger-2.0.0-yarn-plugin# ./enable-yarn-plugin.sh

5.1.4 重启yarn

root@bigdb01 \~# hdp.sh stop root@bigdb01 \~# hdp.sh start

5.1.5 页面配置

4.Ranger hdfs-plugin
4.1安装
4.1.1 解压
复制代码
[root@bigdb01 ~]# rsync root@bigdb03:/data/fan/install/native/10.ranger/package/ranger-2.0.0-hdfs-plugin.tar.gz /opt/software 
[root@bigdb01 ~]# tar -zxvf /opt/software/ranger-2.0.0-hdfs-plugin.tar.gz -C /opt/module/ranger/
4.1.2 配置

root@bigdb01 \~# vim /opt/module/ranger/ranger-2.0.0-hdfs-plugin/install.properties

修改一下内容

4.1.3 使hdfs-plugin生效

root@bigdb01 ranger-2.0.0-hdfs-plugin# ./enable-hdfs-plugin.sh

重启hadoop

root@bigdb01 \~# hdp.sh stop root@bigdb01 \~# hdp.sh start

4.2 测试

使用root在hdfs上创建一个文件夹rangertest,并且用root用户上传一个文件到该文件夹下,切换为zion用户去查看数据,可以查看,上传文件到改文件夹下,失败!

4.2.1 上传文件

创建目录 /rangertest

root@bigdb01 \~# hdfs dfs -mkdir /rangertest root@bigdb01 \~# hadoop fs -ls /

上传文件student.csv

复制代码
[root@bigdb01 ~]# hdfs dfs -put /data/dd/student.csv /rangertest 
[root@bigdb01 ~]# hadoop fs -ls /rangertest
4.2.2 用zion用户操作

切换zion用户,并查看文件内容

root@bigdb01 \~# su zion root@bigdb01 \~# hdfs dfs -cat /rangertest/student.csv

通过用户zion上传文件到 /rangertest目录下

复制代码
[root@bigdb01 ~]# su zion 
[zion@bigdb01 root]$ hdfs dfs -put /data/dd/teacher.csv /rangertest
4.2.3 页面配置hdfs-plugin参数
相关推荐
大大大大晴天2 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB2 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI2 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI2 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI2 天前
MapReduce框架原理解析二:Shuffle
大数据·hadoop
大大大大晴天3 天前
Hudi技术内幕:Key Generation原理与实践
大数据
得物技术7 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子7 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1237 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch