上云无忧 > 文档中心 > 百度智能云MapReduce开源组件介绍 - Ranger
百度智能云MapReduce开源组件介绍 - Ranger

文档简介:
Ranger简介: Apache Ranger 提供集中式的权限管理框架,可以对Hadoop生态中的HDFS/Hive/YARN 等组件提供细粒度的权限访问控制,并且提供了Web UI页面方便管理员进行操作。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

Ranger简介

Apache Ranger 提供集中式的权限管理框架,可以对Hadoop生态中的HDFS/Hive/YARN 等组件提供细粒度的权限访问控制,并且提供了Web UI页面方便管理员进行操作。

创建集群

BMR1.2.0及以上版本已支持 Ranger 组件集成,购置集群时勾选 Ranger 组件即可, 如下图所示:

访问集群的Ranger Web页面

通过SSH Tunnel访问Ranger Web页面

  1. 在创建集群中设置软件配置时,添加Ranger应用。
  2. 建立SSH Tunnel并配置浏览器,具体操作请参考[准备](BMR/操作指南/访问集群服务页面.md#通过SSH Tunnel访问集群的环境准备)中的所有步骤。
  3. 代理设置完后,在Master结点上执行 hostname 命令获取主机名。
  4. 通过访问链接http://hostname:6080 可登录 Ranger UI登录界面,默认的用户名/密码是admin/admin,如下图:

修改密码

初次登录后台后,管理员需要修改admin账户的密码,如下图所示:

权限配置

BMR Ranger 组件默认已启动了 hdfs/yarn/hive 插件,登录Ranger 管理后台可以看到默认已创建的 HDFS service/YARN service以及 HIVE service。

进入Access Manger页面,即可为HDFS、YARN、HIVE 等组件 service 配置相关的权限。

HDFS 配置

如下图所示,点击默认创建的 HDFS service,进入 policy 配置管理页,即可配置相关策略。

例如,给bls用户授予/user/foo;/user/log 路径的读/执行权限:

按照上述步骤设置添加一个Policy后,就实现了对bls的授权,如上图设置,bls用户对/user/foo的HDFS路径只有读和执行的权限。如果该用户上传文件则会报权限不足的错误。效果如截图所示:

当对 bls 用户授予 write 权限后, bls 用户才可以向该路径 put 文件。例如:

效果如截图所示:

HIVE 配置

用户可以通过三种方式访问Hive数据,包括HiveServer2、Hive Client和HDFS,所以我们需要对三种方式做访问权限控制。

  1. HiveServer2 方式:Ranger Hive 插件支持对 Hive 表/列级别的权限控制仅限于对 HiveServer2的使用场景(比如通过 beeline、jdbc 方式)
  2. Hive Client 方式:Hive 官方自带的 (Storage Based Authorization)就是针对 Hive Client使用场景进行的权限控制。本质上会根据SQL中表的HDFS路径的读写权限来决定该用户是否可以进行相关的DDL/DML操作。
  3. HDFS 方式:可以通过Ranger对Hive表底层的HDFS路径增加对HDFS文件的权限控制。

针对 HiveServer2 使用场景,ranger 可以实现对Hive表/列的权限设置,如下图所示,点击默认创建好的 Hive Service,进入 policy 配置管理页,即可配置相关策略。

例如:给用户 bls 授予表 bmr.user_info 的 name 字段的 select 权限。

由于ranger只对 hiveServer2 权限控制生效,下面将通过 beeline 工具访问 hiveServer2为例进行说明,首先以如下方式连接 hiveServer(如果开启安全模式,还要配置相应的 principal)

/opt/bmr/hive/bin/beeline -u "jdbc:hive2://localhost:10000/default;principal=yarn/ng6c79765-master-instance-fh2qdy0g.novalocal@BAIDU.COM"

当一个没有授予Hive 操作权限的 bls 用户创建数据库时会报如下异常信息:

当对 bls 用户授予 bmr.user_info 的 name 字段的 select 权限时,查询如下:

如果执行 select * 时则会报如下异常信息:

YARN 配置

登录 Ranger 管理界面,如下图所示,点击默认创建好的 yarn service,进入 policy 配置管理页,即可配置相关策略。

默认只有 yarn 服务账户可以提交作业到队列中,其他用户则无权限。例如 hdfs 提交作业时会出现以下异常:

下图演示了如何给 hdfs、bls 等账户授予 yarn 的 root.default 队列资源提交作业的权限。

当 hdfs 账户被授予权限后,等待片刻,就可以成功提交作业了,如下图所示:


相似文档
  • Presto简介: Presto是一个分布式SQL查询引擎,用于查询分布在一个或多个不同数据源中的大数据集。Presto通过使用分布式查询,可以快速高效的完成海量数据的查询,并提供了Web UI页面方便用户查看任务查询详情与服务运行状态。
  • Zeppelin简介: zeppelin 是一个交互式数据分析工具,可支持spark、sql等数据分析工具(详细介绍,请参考zeppelin 官网)。 本文将介绍如何在zeppelin上链接配置hiveserver2,来介绍zeppelin上sql的基本使用。
  • Flink简介: Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。
  • Druid简介: Druid是一个高性能的实时数据分析系统,由MetaMarkets公司在2012开源,专门为OLAP场景而设计。Druid遵从Lambda架构,支持批量和实时两种方式导入数据,并提供高性能的数据查询。
  • Impala简介: Impala是Cloudera公司主导开发的MPP架构的查询系统,它提供SQL语义,能够快速的查询存储在HDFS、HBASE中的数据。此外Impala使用与Hive相同的元数据、SQL语法、ODBC驱动。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部