QingMR 支持通过 HiveServer2 方式访问 Hive,并支持将 Hive 组件集成到 Ranger 进行权限控制。

通过 HiveServer2 访问 Hive 数据,即使用 Beeline 客户端或者 JDBC 代码通过 HiveServer2 执行 Hive 脚本,Hive 官方授权可针对 HiveServer2 进行权限控制。

Ranger 中对 Hive 的表或列级别的权限控制,即针对 HiveServer2 的权限控制。

本小节主要介绍如何将 Hive 集成到 Ranger。

前提条件

  • 已获取管理控制台登录账号和密码,且已获取集群操作权限。

  • 已创建 QingMR 集群,且集群状态为活跃

  • 已打通集群网络,使集群云服务器能面向互联网提供服务。例如使用端口转发VPN 等方式打通网络。

步骤 1:Ranger 启用 Hive

  1. 登录管理控制台。

  2. 选择产品与服务 > 大数据服务 > 大数据引擎 QingMR,进入集群管理页面。

  3. 选择目标集群,点击目标集群 ID,进入集群详情页面。

  4. 选择配置参数页签,点击修改属性,设置 开启 Hive 参数为 true

    开启 Hive
  5. 选择节点页签,获取 Client 节点 IP,并登录 Client 节点。

    登录 Client 节点
  6. 在 Client 节点分别执行如下命令,启用 Ranger 组件。

 $ sudo ranger-admin restart
 $ sudo ranger-usersync restart
 $ sudo /opt/solr/ranger_audit_server_scripts/start_solr.sh    #若需使用 solr 存储审计日志。

步骤 2:添加 Hive Service

  1. 登录 Ranger 控制台,输入帐户名与密码。

    登录地址:http://<Client IP>:6080

    默认帐户:admin

    默认账户密码:admin123

    Ranger 控制台
  2. Access Manager > Service Manager 页面,添加 Hive Service。

    配置服务参数,详细参数说明参见 Service 参数

    Service 参数

Service 参数

参数 参数说明

Service Name

固定值 hive

Username

自定义,例如 ubuntu。

Password

自定义。

jdbc.driverClassName

默认值 org.apache.hive.jdbc.HiveDriver。无需修改。

jdbc.url

jdbc:hive2://<主节点 IP>:10000。

Add New Configurations

可选配置。

步骤 3:启动 Ranger Hive 插件

  1. 登录管理控制台。

  2. 选择产品与服务 > 大数据服务 > 大数据引擎 QingMR,进入集群管理页面。

  3. 点击目标集群 ID,进入集群详情页面。

  4. 基本属性模块,展开下拉菜单。

  5. 点击启动 Ranger Hive 插件,弹出确认窗口。

    启动 Ranger hive 插件
  6. 点击提交,返回集群详情页面。

    待集群状态切换为活跃时,则可返回 Ranger 控制台查看插件状态。

    插件状态