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参数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sentry和Ranger是CDH中常用的细粒度授权管理工具,下面分别介绍它们的使用方法: 1. Sentry的使用 (1)安装和配置Sentry 首先需要在CDH集群中安装和配置Sentry服务。具体安装和配置步骤可以参考CDH文档中的说明。 (2)创建角色和授权 可以使用Sentry提供的命令行工具或Web界面来创建角色和授权。例如,以下命令可以创建一个名为“finance_analyst”的角色,并将其授权访问表“my_table”: ``` $ sentry --command create-role --role finance_analyst $ sentry --command grant --role finance_analyst --privilege "server=server1->db=my_database->table=my_table->action=select" ``` (3)验证授权 创建角色和授权之后,可以使用授权用户的身份来验证授权是否生效。例如,可以使用以下命令来验证用户“user1”是否可以访问表“my_table”: ``` $ beeline -u jdbc:hive2://localhost:10000 -n user1 -e "select * from my_table" ``` 2. Ranger的使用 (1)安装和配置Ranger 首先需要在CDH集群中安装和配置Ranger服务。具体安装和配置步骤可以参考CDH文档中的说明。 (2)创建策略和条件 可以使用Ranger提供的Web界面来创建策略和条件。例如,可以创建一个策略,仅允许特定用户访问表“my_table”。在创建策略时,可以指定访问条件,例如“user=user1”。 (3)验证授权 创建策略之后,可以使用授权用户的身份来验证授权是否生效。例如,可以使用以下命令来验证用户“user1”是否可以访问表“my_table”: ``` $ beeline -u jdbc:hive2://localhost:10000 -n user1 -e "select * from my_table" ``` 综上所述,Sentry和Ranger的使用方法都比较简单,可以根据实际需求选择合适的工具来管理Hive数据表的访问权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值