Apache Ranger系列一:Ranger安装

706 阅读3分钟

Ranger描述

Apache Ranger提供了一个集中式的安全管理框架,用户可以通过操作Ranger Admin页面来配置各种策略,从而实现对Hadoop生成组件,比如HDFS、YARN、Hive、HBase、Kafka等进行细粒度的数据访问控制。本篇博客将为大家介绍如何Apache Ranger的安装部署、以及使用。

Ranger的主要由以下几个核心模块组成,它们分别是:

  • Ranger Admin:该模块是Ranger的核心,它内置了一个Web管理界面,用户可以通过这个Web管理界面或者REST接口来制定安全策略;
  • Agent Plugin:该模块是嵌入到Hadoop生态圈组件的插件,它定期从Ranger Admin拉取策略并执行,同时记录操作以供审计使用;
  • User Sync:该模块是将操作系统用户/组的权限数据同步到Ranger数据库中。

Apache Ranger提供以下核心功能,它们分别是:

  • 通过统一的中心化管理界面或者REST接口来管理所有安全任务,从而实现集中化的安全管理;
  • 通过统一的中心化管理界面,对Hadoop生态圈组件或者工具的操作进行更加细粒度级别的控制;
  • 提供了统一的、标准化的授权方式;
  • 支持基于角色的访问控制,基于属性的访问控制等多种访问控制手段;
  • 支持对用户访问和管理操作的集中审计。

前提条件

  1. 准备好MySQL服务
  2. 一台装有maven的编译机器(Apache Maven 3.6.3)
  3. 提前在需要安装ranger admin的机器上下载好mysql-connector-java-8.0.29.jar,路径位于/opt/
  4. 一台用于usersync的linux机器,这里我们是通过同步linux机器上的用户信息到ranger上

Ranger服务安装

1 下载和编译

选择指定版本(在装有maven的编译机器上)

在当前路径下进行编译,命令如下

  • cd ranger/
  • mvn clean compile package assembly:assembly install -DskipTests -Drat.skip=true

编译结果输出: [INFO] BUILD SUCCESS

查看结果文件: ls target/

2 安装Ranger Admin

  • cp target/ranger-2.1.0-admin.tar.gz ~/app/
  • cd ~/app
  • tar -zxvf ranger-2.1.0-admin.tar.gz
  • cd ranger-2.1.0-admin/
  • vi install.properties

修改内容如下

DB_FLAVOR=MYSQL

SQL_CONNECTOR_JAR=/opt/mysql-connector-java-8.0.29.jar

db_root_user=xxx

db_root_password=xxxxxx

db_host=nns:3306

db_name=your_db_name

db_user=your_db_user

db_password=your_db_password

rangerAdmin_password=your_login_password

rangerTagsync_password=your_login_password

rangerUsersync_password=your_login_password

keyadmin_password=your_login_password

执行安装和启动命令

  • sudo -E sh setup.sh
  • cd ews
  • sudo -E ./ranger-admin-services.sh start

检查服务是否正常 /** 正常情况下出现如下结果*/

Starting Apache Ranger Admin Service

Apache Ranger Admin Service with pid xxxxxx has started.

查看服务进程是否启动

  • ps -ef | grep ranger
  • netstat -lntp|grep 6080

查看管理页面

浏览器打开URL http://localhost(根据实际地址修改):6080

3 安装ranger-usersync

复制usersync包到提前准备好的机器

  • scp target/ranger-2.1.0-usersync.tar.gz user@nn:~/app/

切换到另一台机器

  • cd ~/app/
  • tar -zxvf ranger-2.1.0-usersync.tar.gz
  • cd ranger-2.1.0-usersync
  • vi install.properties

修改内容如下

ranger_base_dir = /etc/ranger

POLICY_MGR_URL = 对应ranger admin中的policymgr_external_url

SYNC_SOURCE = unix

MIN_UNIX_USER_ID_TO_SYNC = 500

MIN_UNIX_GROUP_ID_TO_SYNC = 500

SYNC_INTERVAL = 10, 时间过长会出现session过期的报错

rangerUsersync_password=对应ranger admin中的rangerUsersync_password

logdir=/home/ubuntu/logs/usersync-logs

再修改配置文件中的启动开关

  • vi conf/ranger-ugsync-site.xml
<property>
        <name>ranger.usersync.enabled</name>
        <value>true</value>
</property>

最后开启服务

  • sudo -E sh setup.sh 执行一次即可
  • sudo -E sh start.sh

页面查看user信息同步结果

浏览器打开http://localhost(根据实际地址修改):6080

查看Settings下面的user/group信息是否同步过去

参考文章:www.manongjc.com/detail/29-z…