• Ranger (二) ---------- Ranger 安装



    一、环境说明

    Ranger 2.0 要求对应的 Hadoop 为 3.x 以上,Hive 为 3.x 以上版本,JDK 为 1.8 以上版本。Hadoop 及 Hive 等需开启用户认证功能,本文基于开启 Kerberos 安全认证的 Hadoop 和 Hive 环境。

    注:本文中所涉及的Ranger相关组件均安装在hadoop102节点。

    二、创建系统用户和Kerberos主体

    Ranger 的启动和运行需使用特定的用户,故须在 Ranger 所在节点创建所需系统用户并在Kerberos 中创建所需主体。

    A、创建 ranger 系统用户

    [root@hadoop102 ~]# useradd  ranger -G hadoop
    [root@hadoop102 ~]# echo ranger | passwd --stdin ranger
    
    • 1
    • 2

    B、检查 HTTP 主体是否正常 (该主体在 Hadoop 开启 Kerberos 时已创建)

    使用keytab文件认证HTTP主体

    [root@hadoop102 ~]# kinit -kt /etc/security/keytab/spnego.service.keytab HTTP/hadoop102@EXAMPLE.COM
    
    • 1

    查看认证状态,如下图所示,即为正常

    [root@hadoop102 ~]# klist
    
    • 1

    在这里插入图片描述

    注销认证

    [root@hadoop102 ~]# kdestroy 
    
    • 1

    C、创建 rangeradmin 主体

    创建主体

    [root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey rangeradmin/hadoop102"
    
    • 1

    生成 keytab 文件

    [root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/rangeradmin.keytab rangeradmin/hadoop102"
    
    • 1

    修改 keytab 文件所有者

    [root@hadoop102 ~]# chown ranger:ranger /etc/security/keytab/rangeradmin.keytab
    
    • 1

    D、创建 rangerlookup 主体

    创建主体

    [root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey rangerlookup/hadoop102"
    
    • 1

    生成 keytab 文件

    [root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/rangerlookup.keytab rangerlookup/hadoop102"
    
    • 1

    修改 keytab 文件所有者

    [root@hadoop102 ~]# chown ranger:ranger /etc/security/keytab/rangerlookup.keytab
    
    • 1

    E、创建 rangerusersync 主体

    创建主体

    [root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"addprinc -randkey rangerusersync/hadoop102"
    
    • 1

    生成 keytab 文件

    [root@hadoop102 ~]# kadmin -padmin/admin -wadmin -q"xst -k /etc/security/keytab/rangerusersync.keytab rangerusersync/hadoop102"
    
    • 1

    修改 keytab 文件所有者

    [root@hadoop102 ~]# chown ranger:ranger /etc/security/keytab/rangerusersync.keytab
    
    • 1

    二、安装 RangerAdmin

    1. 数据库环境准备

    登录MySQL

    [root@hadoop102 ~]# mysql -uroot -p000000
    
    • 1

    在MySQL数据库中创建Ranger存储数据的数据库

    mysql> create database ranger;
    
    • 1

    更改 mysql 密码策略,为了可以采用比较简单的密码

    mysql> set global validate_password_length=4;
    mysql> set global validate_password_policy=0;
    
    • 1
    • 2

    创建用户

    mysql> grant all privileges on ranger.* to ranger@'%'  identified by 'ranger';
    
    • 1

    2. 安装 RangerAdmin

    A、在 hadoop102 的 /opt/module 路径上创建一个 ranger

    [root@hadoop102 ~]# mkdir /opt/module/ranger
    
    • 1

    B、解压软件

    [root@hadoop102 software]# tar -zxvf ranger-2.0.0-admin.tar.gz -C /opt/module/ranger
    
    • 1

    C、进入/opt/module/ranger/ranger-2.0.0-admin路径,对install.properties配置

    [root@hadoop102 ranger-2.0.0-admin]# vim install.properties
    修改以下配置内容:
    #mysql驱动
    SQL_CONNECTOR_JAR=/opt/software/mysql-connector-java-5.1.48.jar
    
    #mysql的主机名和root用户的用户名密码
    db_root_user=root
    db_root_password=000000
    db_host=hadoop102
    
    #ranger需要的数据库名和用户信息,和2.2.1创建的信息要一一对应
    db_name=ranger
    db_user=ranger
    db_password=ranger
    
    #Ranger各组件的admin用户密码
    rangerAdmin_password=atguigu123
    rangerTagsync_password=atguigu123
    rangerUsersync_password=atguigu123
    keyadmin_password=atguigu123
    
    #ranger存储审计日志的路径,默认为solr,这里为了方便暂不设置
    audit_store=
    
    #策略管理器的url,rangeradmin安装在哪台机器,主机名就为对应的主机名
    policymgr_external_url=http://hadoop102:6080
    
    #启动ranger admin进程的linux用户信息
    unix_user=ranger
    unix_user_pwd=ranger
    unix_group=ranger
    
    #Kerberos相关配置
    spnego_principal=HTTP/hadoop102@EXAMPLE.COM
    spnego_keytab=/etc/security/keytab/spnego.service.keytab
    admin_principal=rangeradmin/hadoop102@EXAMPLE.COM
    admin_keytab=/etc/security/keytab/rangeradmin.keytab
    lookup_principal=rangerlookup/hadoop102@EXAMPLE.COM
    lookup_keytab=/etc/security/keytab/rangerlookup.keytab
    hadoop_conf=/opt/module/hadoop-3.1.3/etc/hadoop
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    D、在 /opt/module/ranger/ranger-2.0.0-admin 目录下执行安装脚本

    [root@hadoop102 ranger-2.0.0-admin]# ./setup.sh
    出现以下信息,说明安装完成
    2020-04-30 13:58:18,051  [I] Ranger all admins default password change request processed successfully..
    Installation of Ranger PolicyManager Web Application is completed.
    
    • 1
    • 2
    • 3
    • 4

    E、修改 /opt/module/ranger/ranger-2.0.0-admin/conf/ranger-admin-site.xml 配置文件中的以下属性

    [root@hadoop102 ranger-2.0.0-admin]# vim /opt/module/ranger/ranger-2.0.0-admin/conf/ranger-admin-site.xml
    增加如下参数
    <property>
        <name>ranger.jpa.jdbc.passwordname>
        <value>rangervalue>
        <description />
    property>
    
    <property>
        <name>ranger.service.hostname>
        <value>hadoop102value>
    property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3. 启动 RangerAdmin

    A、启动 ranger-admin (以ranger用户启动)

    [root@hadoop102 ranger-2.0.0-admin]# sudo -i -u ranger ranger-admin start
    Starting Apache Ranger Admin Service
    Apache Ranger Admin Service with pid 7058 has started.
    	ranger-admin在安装时已经配设置为开机自启动,因此之后无需再手动启动!
    
    • 1
    • 2
    • 3
    • 4

    B、查看启动后的进程

    [root@hadoop102 ranger-2.0.0-admin]# jps
    7058 EmbeddedServer
    8132 Jps
    
    • 1
    • 2
    • 3

    C、访问 Ranger 的 WebUI,地址为:http://hadoop102:6080

    在这里插入图片描述

    D、停止ranger (此处不用执行)

    [root@hadoop102 ranger-2.0.0-admin]# sudo -i -u ranger ranger-admin stop
    
    • 1

    4. 登录 Ranger

    默认可以使用用户名:admin,密码为之前配置的 fancy123 进行登录!登录后界面如下:

    在这里插入图片描述

  • 相关阅读:
    【杂七杂八】Huawei Gt runner手表系统降级
    HIT程序人生
    SPI机制
    kthread_create使用demo
    Flutter 这个评分组件用起来真香
    图神经网络torch_geometric库的使用
    场内股票期权和场外期权(附场内期权交易攻略)
    JavaSE入门---认识Java数组
    版本控制Git
    C++ 模板函数、模板类:如果没有被使用就不会被实例化
  • 原文地址:https://blog.csdn.net/m0_51111980/article/details/127658696