Ranger集成hive 安装与测试

前期准备

  1. ranger2.0.0

  2. hive2.3.7

  3. hive数据库创建t_user表

    CREATE TABLE t_user (name STRING,phone STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;
    

添加内容:
meizi 18518760001
xuaner 18518760002
afa 18518760003
hanze 18518760004
xupeng 18518760005
xiaofeng 18518760006
shuoshuo 18518760007

软件安装

下载ranger2.0.0

wget https://mirrors.tuna.tsinghua.edu.cn/apache/ranger/2.0.0/apache-ranger-2.0.0.tar.gz

解压编译源文件

tar apache-ranger-2.0.0.tar.gz
cd apache-ranger-2.0.0
mvn clean
mvn -DskipTests=true clean compile package install assembly:assembly

中间可能会出错,有的jar报下载不了,需要重新clean,重新编译
还需要安装python2
在这里插入图片描述

解压安装

首先连接MySQL查看是否有ranger库
删除MySQL中原有的ranger库
进入到ranger下的target文件夹下

tar ranger-2.0.0-admin.tar.gz -C /usr/local/ranger2.0
tar ranger-2.0.0-usersync.tar.gz -C /usr/local/ranger2.0
tar ranger-2.0.0-hive-plugin.tar.gz -C /usr/local/ranger2.0
cd /usr/local/ranger2.0
ln -s ranger-2.0.0-admin ranger-admin
ln -s ranger-2.0.0-usersync ranger-usersync
ln -s ranger-2.0.0-hive-plugin ranger-hive-plugin

安装Ranger控制台:Ranger—admin

进入 ranger-2.0.0-admin并修改配置文件:install.properties

vim /usr/local/ranger2.0/install.properties

修改的参数如下:
#此参数表示数据库脚本单独执行

setup_mode=SeparateDBA

#数据库类型

DB_FLAVOR=MYSQL

#连接mysql的jar包所在位置

SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java-5.1.47.jar
db_root_user=root
db_root_password=输入密码
db_host=数据库地址
db_name=ranger
db_user=root
db_password=输入密码

#设置Ranger里面的用户密码

rangerAdmin_password=输入密码
rangerTagsync_password=输入密码
rangerUsersync_password=输入密码
keyadmin_password=输入密码

#禁用audit审计,如需开启,需安装solr

#audit_store=solr
#audit_solr_urls=
#audit_solr_user=
#audit_solr_password=
#audit_solr_zookeepers=

执行数据库脚本

python2.6 ./dba_script.py

执行初始化设置

./setup.sh

启动Ranger Admin

ranger-admin start

检查是否安装成功
账号密码:admin
访问:http://localhost:6080

在这里插入图片描述
在这里插入图片描述

安装Ranger Usersync

进入 ranger-2.0.0-usersync并修改配置文件:install.properties

vim /usr/local/ranger2.0/ranger-2.0.0-usersync/install.properties

修改的参数如下:

POLICY_MGR_URL=http://10.200.4.117:6080 
SYNC_SOURCE=unix 

#多久同步一次数据,单位为分钟

SYNC_INTERVAL=1 logdir=/data/ranger/logs/usersync

执行初始化设置

./setup.sh

启动Ranger Usersync

./ranger-usersync-services.sh start

验证是否安装成功:打开Ranger控制台页面,点击“Settings->Users/Groups”,可以看到从Linux同步过来的用户信息则说明成功。如下:
在这里插入图片描述

Hive插件安装

进入 ranger-2.0.0-hive-plugin并修改配置文件:install.properties

vim /usr/local/ranger2.0/ranger-2.0.0-hive-plugin/install.properties

修改的参数如下:

POLICY_MGR_URL=http://ip地址:6080 
REPOSITORY_NAME=hivedev
COMPONENT_INSTALL_DIR_NAME=hive的安装目录

启动Ranger HivePlugin

./enable-hive-plugin.sh
(停止命令为:./disable-hive-plugin.sh)

重启hiveserver2
连接数据库

bin/beeline -u 						"	jdbc:hive2://node4:10000/hive_connect;user=admin;password=ad	min”

执行sql语句

show tables;

Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [admin] does not have [USE] privilege on [hive_connect] (state=42000,code=40000)
select * from t_user;
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [admin] does not have [SELECT] privilege on [hive_connect/t_user/*] (state=42000,code=40000)
显示没有权限安装成功!

创建Hive Service

在这里插入图片描述
在这里插入图片描述

填写完成后点击Test Connection测试连接

在这里插入图片描述
点击:查看权限
在这里插入图片描述

配置权限

为admin配置select权限

在这里插入图片描述
在这里插入图片描述
在bin/beeline连接用admin登录查询select表

select * from t_user;
+--------------+---------------+
| t_user.name  | t_user.phone  |
+--------------+---------------+
| meizi        | 18518760001   |
| xuaner       | 18518760002   |
| afa          | 18518760003   |
| hanze        | 18518760004   |
| xupeng       | 18518760005   |
| xiaofeng     | 18518760006   |
| shuoshuo     | 18518760007   |
+--------------+---------------+

为t_user表配置动态列屏蔽

在这里插入图片描述
在这里插入图片描述
Select Masking Option里面填Mask的选项,默认有: 显示前4位、显示后4位、哈希、Null值、日期类型仅显示年等。我们这里使用Custom自定义,
其实就是写Select子句 可以根据逻辑自己实现,也可使用UDF。本例中我们使用concat(substr(phone,1,7),’****’)将手机号的后四位屏蔽掉

在bin/beeline连接用admin登录查询select表

	select * from t_user;
	+--------------+---------------+
	| t_user.name  | t_user.phone  |
	+--------------+---------------+
	| meizi        | 1851876****   |
	| xuaner       | 1851876****   |
	| afa          | 1851876****   |
	| hanze        | 1851876****   |
	| xupeng       | 1851876****   |
	| xiaofeng     | 1851876****   |
	| shuoshuo     | 1851876****   |
	+--------------+---------------+

Row Level Filter(行级别过滤)

在这里插入图片描述
在这里插入图片描述

在bin/beeline连接用admin登录查询select表

select * from t_user;
+--------------+---------------+
| t_user.name  | t_user.phone  |
+--------------+---------------+
| hanze        | 1851876****   |
+--------------+---------------+

Row Level Filter里面填Filter的过滤规则,其实就是写Where子句

参考博客

https://www.cnblogs.com/zhi-leaf/p/11506148.html
https://blog.csdn.net/andyguan01_2/article/details/88950551
https://www.jianshu.com/p/d9941b8687b7

声明

以上内容均来源于实用中的网络和官方查找,若有批漏或侵权请告知。

决定我们成为什么样人的,不是我们的能力,而是我们的选择。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悟天特斯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值