前面简介中介绍了 E-MapReduce 中创建启动 Ranger 服务的集群,以及一些准备工作,本节介绍 HBase 集成 Ranger 的一些步骤流程。

Enable HBase Plugin

  1. 在集群管理页面,在你想操作的集群后的操作栏中单击管理
  2. 在服务列表中单击 Ranger 进入 Ranger 配置页面
  3. 在Ranger配置页面,单击右侧的操作下拉菜单,选择 Enable HBase PLUGIN
    Enable HBase PLUGIN
  4. 在弹出框输入执行 Commit 记录,然后单击确定
  5. 单击右上角查看任务进度,等待任务完成。查看任务进度

Ranger UI 添加 HBase service

参见 Ranger 简介的介绍进入Ranger UI。

在 Ranger 的 UI 页面添加 Hase Service:


添加Hase Service

说明 ${id}: 可登录机器执行host命令,hostname 中的数字即为 ${id} 的值。

重启 HBase

上述任务完成后,需要重启 HBase 才生效。重启 HBase,请按照以下步骤操作:

  1. 在 Ranger 配置页面中,单击左上角 Ranger 后的倒三角,从 Ranger 切换到 HBase。
  2. 单击右上角操作下拉菜单,选择 RESTART All Components
  3. 在弹出框输入执行 Commit 记录,然后单击确定
  4. 单击右上角查看操作历史查看任务进度,等待重启任务完成。

设置管理员账号

用户需要设置管理员账号的权限(admin 权限),用于执行一些管理命令,如balance/compaction/flush/split等等。


设置管理员账号

上图中已经存在权限策略,您只需要单击右侧的编辑按钮,将 user 改成自己想要设置的账号即可,另外也可以修改其中的权限(如只保留Admin权限)。hbase 账号必须要默认设置为管理员账号。

若使用 Phoenix,则还需在 ranger 的 HBase 中新增如下策略:
Table SYSTEM.*
Column Family *
Column *
Groups public
Permissions ReadWrite, Create, Admin

新增策略

权限配置示例

上面一节中已经将 Ranger 集成到 HBase,可以进行相关的权限设置。例如给用户 test 授予表 foo_ns:test 的Create/Write/Read权限。


权限配置示例

单击上图中的 emr-hbase 进入配置页面,配置相关权限。


配置相关权限

User/Group 会自动从集群中同步过来,大约需要一分钟,用户可以事先将它们添加到集群。

按照上述步骤设置添加一个 Policy 后,就实现了对test用户的授权,然后 test 用户就可以对 foo_ns:test 表进行访问了。

说明 添加Policy 1 分钟左右后,HBase 才会生效。