Hadoop生态圈-Ranger数据安全管理框架

                                     作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

  

 

一.Ranger简介

  Apache Ranger是一款被设计成全面掌握Hadoop生态系统的数据安全管理框架。它为Hadoop生态系统中众多的组件提供了一个统一的数据授权和管理界面。使得系统管理员只需面对Ranger一个系统,就能对Hadoop整个生态体系进行数据授权,数据管理与审计。详情请参考官网:http://ranger.apache.org/index.html

  Ranger从架构上看主要由三大部分组成:

 Hadoop生态圈-Ranger数据安全管理框架

1>.User sync:

  Ranger系统有自己的内部用户,从门户系统的登陆到权限策略的分配都是基于这些内部用户进行的。Ranger是一个统一Hadoop生态系统的安全管理框架,所以它面对的是Hadoop生态的众多组件。而这些组件使用的是服务器上的Linux用户,所以我们需要映射一份linux用户数据成为Ranger的内部用户。用户同步服务就是专门来做这件事情的,Ranger 通过用户同步服务实时的从Linux服务器中同步用户数据。

2>.Admin Portol:

  管理员门户是一个Web UI控制台,用户通过它可以创建和更新权限策略。每个组件(如HDFS,HBase等)的插件定期以轮询的方式查询这些策略。门户系统还包括一个审计系统,mooed组件的插件会定期向审计系统发送收集到的操作日志。

3>.Plugins:

  Ranger通过插件机制来实现并扩展自己的能力,这些插件本质上一些嵌入在每个集群服务中的轻量级Java程序。例如Apache Hive的Ranger插件就是嵌入在HiveServer2里面。这些插件会拦截请求并进行权检查。同时这些插件还能收集用户的操作日志并发送给管理门户的审计系统。

 

二.安装Ranger

  现在开始安装Ranger组件,我们依旧会借助Ambari来进行安装。

1>.登陆Ambari,通过点击首页左下角的Actions按钮我们会看到新建服务选项,如下图所示:

Hadoop生态圈-Ranger数据安全管理框架

2>.点击新建服务之后会进入新建服务向导页面。我们勾选Ranger和Ranger KMS这两个服务并点击下一步,如下图所示: Hadoop生态圈-Ranger数据安全管理框架

3>.接着我们会看到一条提示信息,要求我们配置Ambari-Server的JDBC驱动信息,如下图所示。因为Ranger需要使用关系型数据库存储一些元数据信息,这里我们选择使用MySQL数据库。将MySQL驱动jar包上传到Ambari-Server所在的服务器,然后执行以下命令。

[root@node101 ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
Using python  /usr/bin/python
Setup ambari-server
Copying /usr/share/java/mysql-connector-java.jar to /var/lib/ambari-server/resources
If you are updating existing jdbc driver jar for mysql with mysql-connector-java.jar. Please remove the old driver jar, from all hosts. Restarting services that need the driver, will automatically copy the new jar to the hosts.
JDBC driver was successfully initialized.
Ambari Server 'setup' completed successfully.
[root@node101 ~]# 
[root@node101 ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar            #这条命令的来源于下图的提示信息!

相关文章: