Apache Ranger系列一:Ranger安装

2023年 8月 24日 14.6k 0

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生态圈组件或者工具的操作进行更加细粒度级别的控制;
  • 提供了统一的、标准化的授权方式;
  • 支持基于角色的访问控制,基于属性的访问控制等多种访问控制手段;
  • 支持对用户访问和管理操作的集中审计。

前提条件

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

    1 下载和编译

    • 官网:ranger.apache.org/download.ht…
    • Github:github.com/apache/rang…
    • 国内镜像:gitee.com/mirrors/apa…

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

    • git clone -b release-ranger-2.1.0 github.com/apache/rang…

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

    • 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
    
            ranger.usersync.enabled
            true
    
    

    最后开启服务

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

    页面查看user信息同步结果

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

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

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

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论