Hadoop学习笔记(HDP)-Part.13 安装Ranger

news2025/6/8 15:49:04

目录
Part.01 关于HDP
Part.02 核心组件原理
Part.03 资源规划
Part.04 基础环境配置
Part.05 Yum源配置
Part.06 安装OracleJDK
Part.07 安装MySQL
Part.08 部署Ambari集群
Part.09 安装OpenLDAP
Part.10 创建集群
Part.11 安装Kerberos
Part.12 安装HDFS
Part.13 安装Ranger
Part.14 安装YARN+MR
Part.15 安装HIVE
Part.16 安装HBase
Part.17 安装Spark2
Part.18 安装Flink
Part.19 安装Kafka
Part.20 安装Flume

十三、安装Ranger

1.安装服务

(1)Choose Services

在这里插入图片描述

(2)Assign Masters

在这里插入图片描述

(3)Assign Slaves and Clients

选择不安装Ranger Tagsync
在这里插入图片描述

(4)Customize Services

  • 设置RANGER ADMIN
    DB FLAVOR:选择MySQL,依据ambari使用的数据库来定
    Ranger DB name:设置ranger在数据库中的DB,默认ranger
    Ranger DB host:hdp01.hdp.com,选择安装MySQL的主机名
    Ranger DB username:设置ranger用户名,默认rangeradmin
    Ranger DB password:设置ranger密码,此处设置lnyd@LNsy115
    JDBC connect string for a Ranger database:自动生成
    DBA username:填入数据库连接用户名,默认root
    DBA password:填入数据库连接密码,此处设置lnyd@LNsy115
    JDBC connect string:数据库连接,前面的信息填写好后会自动生成
    在这里插入图片描述
    在这里插入图片描述
    在hdp01上设置ambari的MySQL JDBC
ambari-server setup --jdbc-db=mysql --jdbc-driver=/opt/mysql-connector-java-5.1.49.jar

在这里插入图片描述
然后在ambari界面点击“TEST CONNECTION”进行测试

  • 设置RANGER USER INFO
    Sync Source:选择“LDAP/AD”
    子选项卡:COMMON CONFIGS
    LDAP/AD URL:ldap://192.168.111.222:389
    Bind User:cn=admin,dc=hdp315,dc=com
    Bind User Password:设置为lnyd@LNsy115
    在这里插入图片描述
    子选项卡:USER CONFIGS
    Username Attribute:uid
    User Object Class:posixAccount
    User Search Base:ou=People,dc=hdp315,dc=com
    User Search Filter:cn=*
    User Search Scope:sub
    User Group Name Attribute:memberUid
    在这里插入图片描述
    子选项卡:GROUP CONFIGS
    Group Member Attribute:memberUid(对应template.ldif中的memberUid属性)
    Group Name Attribute:cn
    Group Object Class:posixGroup
    Group Search Base:ou=Group,dc=hdp315,dc=com
    Group Search Filter:cn=*
    在这里插入图片描述
  • 设置RANGER AUDIT
    未安装solr,关闭向Solr审计功能;将审计日志存储到HDFS
    在这里插入图片描述
  • 设置ADVANCED
    此处的用户密码统一设置为lnyd@LNsy115
    ADMIN Settings中的Ldap Base DN改为dc=hdp315,dc=com
    Ranger Settings中的External URL设置为http://hdp02.hdp.com:6080,此处设置为hdp01即可,不应该设置为192.168.111.222的vIP,否在调用相关URL时,会使用principal:HTTP/192.168.111.222@HDP315.COM,因为没有相关账号而报错401
    在这里插入图片描述

(5)Review

在这里插入图片描述

(6)Install,Start and Test

在这里插入图片描述

(7)Summary

在这里插入图片描述

2.安装plugin

在CONFIGS->RANGER PLUGIN中,启用对应服务的Plugin
在这里插入图片描述
启用Plugin后,对应的服务(hdfs)重启

3.测试

(1)用户同步测试

在OpenLDAP上新建测试账号tenant2

ldapadd -x -w "lnyd@LNsy115" -D "cn=admin,dc=hdp315,dc=com" -f /root/template.ldif

在这里插入图片描述
在ambari上重启UserSync服务,以重新同步(正常会周期性同步,为了即时同步,可重启该服务)
在这里插入图片描述
登录Ranger界面,http://192.168.111.201:6080,查看用户,确认OpenLDAP账号已经同步至Ranger上
在这里插入图片描述

(2)权限测试

以tenant1和tenant2为测试对象,设置tenant1在hdfs上的目录为/testhdfs/tenant1,tenant2在hdfs上的目录为/testhdfs/tenant2,在Ranger上未设置任何权限策略的情况下
先以hdfs管理员账号nn/hdp01.hdp.com@HDP315.COM登录kdc,然后创建对应的目录和赋权

kinit -kt /etc/security/keytabs/nn.service.keytab nn/hdp01.hdp.com@HDP315.COM
hdfs dfs -mkdir -p /testhdfs/tenant1
hdfs dfs -mkdir -p /testhdfs/tenant2
hdfs dfs -chmod 777 /testhdfs/tenant1
hdfs dfs -chmod 777 /testhdfs/tenant2
hdfs dfs -ls /testhdfs

在这里插入图片描述
LDAP上已经有tenant1和tenant2两个账号,还需要在kerberos中同步建立好对应的账号

kadmin.local
addprinc -randkey tenant1
addprinc -randkey tenant2
ktadd -kt /root/keytab/tenant1.keytab tenant1
ktadd -kt /root/keytab/tenant2.keytab tenant2

分别以tenant1和tenant2账号登录kdc后,上传测试文件到自身的目录下

kinit -kt /root/keytab/tenant1.keytab tenant1
hdfs dfs -put /root/file1 /testhdfs/tenant1/
hdfs dfs -ls /testhdfs/tenant1
kdestroy
kinit -kt /root/keytab/tenant2.keytab tenant2
hdfs dfs -put /root/file2 /testhdfs/tenant2/
hdfs dfs -ls /testhdfs/tenant2

在这里插入图片描述
分别用两个账号查看对方目录下的文件内容,目前是以hdfs自身的权限控制为准,即777权限,因此可以查看

kinit -kt /root/keytab/tenant1.keytab tenant1
hdfs dfs -cat /testhdfs/tenant2/file2
kdestroy
kinit -kt /root/keytab/tenant2.keytab tenant2
hdfs dfs -cat /testhdfs/tenant1/file1

在这里插入图片描述
在Ranger上添加策略
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置完成后,再次分别以tenant1和tenant2登录并查看权限情况

kinit -kt /root/keytab/tenant1.keytab tenant1
hdfs dfs -cat /testhdfs/tenant1/file1
hdfs dfs -cat /testhdfs/tenant2/file2
kinit -kt /root/keytab/tenant2.keytab tenant2
hdfs dfs -cat /testhdfs/tenant1/file1
hdfs dfs -cat /testhdfs/tenant2/file2

在这里插入图片描述

说明权限已经生效,账号仅能查看自身目录下的文件,其他目录权限已被Ranger锁死

(3)联合授权

Ranger为HDFS提供联合授权模型:

  • 用于HDFS的Ranger插件检查Ranger策略,如果存在策略,则授予用户访问权限。
  • 如果Ranger中不存在策略,则Ranger将默认使用HDFS(POSIX或HDFS ACL)中的本机权限模型。
    联合模型适用于Ranger中的HDFS和Yarn服务。对于其他服务,例如Hive或HBase,Ranger作为唯一授权者运行,这意味着只有Ranger策略生效。
    在HDFS中,CONFIGS->ADVANCED->Advanced ranger-hdfs-security中设置
    xasecure.add-hadoop-authorization=true,表示启用联合授权,即如果不存在权限,则由hdfs权限控制;false表示禁用联合授权,hdfs的权限不再生效,而是仅有Ranger来控制。
    在这里插入图片描述

配置完成后,重启hdfs服务
禁用Ranger上的tenant1策略,然后用tenant1和tenant2账号分别查看,因为/testhdfs/tenant1上没有策略,虽然hdfs权限为777,但因为非联合授权,因此仍被Ranger拒绝访问;而/testhdfs/tenant2在Ranger有策略控制,因此tenant2仍有权限查看
在这里插入图片描述

(4)查看审计日志

配置审计日志在hdfs上存储,路径为hdfs://hdp315/ranger/audit,将所有租户的执行行为进行记录

kinit -kt /etc/security/keytabs/nn.service.keytab nn/hdp01.hdp.com@HDP315.COM
hdfs dfs -cat /ranger/audit/hdfs/20230303/hdfs_ranger_audit_hdp02.hdp.com.1.log

在这里插入图片描述

4.启用HA

Ambari上启用Ranger HA,需要提前准备好负载均衡器,ambari上只是在另外一台服务器上配置好Ranger,实现两台的高可用关系,但前面的负载不是Ambari来负责管理。前面的负载采用KeepAlived+HAProxy实现。
在这里插入图片描述
复用在OpenLDAP中的KeepAlived+HAProxy

(1)配置HAProxy

在hdp04和hdp05上修改配置文件中的部分内容,/etc/haproxy/haproxy.cfg

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  tcp_389_openldap
    bind *:389
    mode tcp
    stats uri /haproxy?stats
    default_backend  tcp_389_openldap

frontend  http_6080_ranger
    bind *:6080
    http-request set-header X-Forwarded-Proto http
    stats uri /haproxy?stats
    default_backend  http_6080_ranger

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend tcp_389_openldap
    mode tcp
    balance     roundrobin
    server server1 hdp01.hdp.com:389 check weight 100
    server server2 hdp02.hdp.com:389 check weight 1

backend http_6080_ranger
    mode http
    balance     roundrobin
    cookie LB insert
    server  server1 hdp01.hdp.com:6080 maxconn 200 weight 10 cookie 1 check inter 5000 rise 3 fall 3
    server  server2 hdp02.hdp.com:6080 maxconn 200 weight 10 cookie 2 check inter 5000 rise 3 fall 3

启动服务

systemctl restart haproxy
systemctl status haproyx

(2)Ambari上启用HA

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
确认状态
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JSP控制项目启动后默认去访问指定的WebServlet 而不是index.jsp

我的 index.jsp 代码是这样 现在每次启动 访问的都是index.jsp 这也是它的默认配置 我这里写了一个 WebServlet 代码是这样 简单可以理解为 我们定义了WebServlet 访问路径为1cginServlet 其中在request作用域中 定义了一个userName值为 欢迎来到jsp世界 然后 跳转向 page.j…

Selenium自动化测试技巧还不知道吗?

1、前言 与以前瀑布式开发模式不同,现在软件测试人员具有使用自动化工具执行测试用例套件的优势,而以前,测试人员习惯于通过测试脚本执行来完成测试。 但自动化测试的目的不是完全摆脱手动测试,而是最大程度地减少手动运行的测试…

ROS话题通信基本操作(C++)

目录 一、发布 1、实现步骤 2、代码实例 二、接收 1、实现步骤 2、代码实例 三、配置运行 1、修改CMakeLists.txt 2、运行结果 一、发布 1、实现步骤 1.包含头文件 2.初始化 ROS 节点:命名(唯一) 3.实例化 ROS 句柄 4.实例化 发布者 对象 5.组织被发布的数据&#…

微信小程序云开发报错

微信小程序云开发报错 起因是云开发报了个错误: fail: Error: cloud.callFunction:fail Error: errCode: -501000 | errMsg: [100003] env not exists (f8c78dea-9f77-43cf-9e7f-88c85f2a0795) (callId: 1701747734223-0.895078767368265) (trace: 11:42:14 star…

基础课17——任务问答引擎

任务问答引擎在智能客服系统中负责多轮对话的对话流设计、意图的管理、任务流的执行等功能。能够高效地进行意图识别与任务解析,实现多轮对话的流程设计,并驱动多轮会话任务的高效完成。 1.定义 任务问答引擎负责多轮对话的对话流设计、意图的管理、任…

Shopee买家通系统全自动模拟真人下单更真实

Shopee买家通系统的强大功能在于它可以为用户提供全自动、高效的下单体验。通过设置关键词和产品编号,用户可以轻松实现对目标商品的准确定位。而整个下单流程一旦设定完毕,软件程序将以模拟真人的方式,执行一系列全自动化的操作,…

销售工作中如何满足客户的需求?

销售工作中如何满足客户的需求? 在销售工作中,如果想要满足客户需求,第一步是要搞清楚客户的需求是什么,不能仅仅听客户的表面需求,在表面需求下隐藏的潜在需求是什么,另外还有客户的核心需求是什么&#…

易点易动设备管理系统--提升设备保养效率的工具

设备保养是企业运营中至关重要的一环,为了帮助市场推广人员提升设备保养效率,易点易动设备管理系统应运而生。本文将详细介绍易点易动设备管理系统的功能和优势,以及如何借助该系统提高设备保养效率,提升企业运营效益。 易点易动设…

Windows文件后缀名批量修改方法教程

目录 文件后缀名批量修改方法教程 1、新建一个文件夹,把需要改后缀名的文件都移到里面。 2、从“查看”菜单中找到“文件扩展名”,点击前面的小方框勾选,查看文件的后缀名。 3、新建一个txt文本,然后在里面输入下图字符&#xf…

计算机视觉-01-基于SegNet和U-Net的遥感图像语义分割(包含代码和数据)

文章目录 0. 数据下载1、介绍1.1 任务介绍1.2 数据集介1.2.1 数据集介绍1.2.2 数据集处理步骤 1.3 数据处理1.4 卷积神经网络1.4.1 SegNet1.4.1.1 定义SegNet网络1.4.1.2 读入数据集1.4.1.3 定义训练过程1.4.1.4 预测遥感图像 1.4.2 U-Net网络1.4.2.1 定义U-Net网络1.4.2.2 读入…

全息图着色器插件:Hologram Shaders Pro for URP, HDRP Built-in

8个新的Unity全息图着色器,具有故障效果,扫描线,网格线,和更多其他效果!与所有渲染管线兼容。 软件包添加了一系列的全息图着色器到Unity。从基本的全息图与菲涅耳亮点,先进的全息图与两种故障效应,扫描线,文体点阵和网格线全息图! 特色全息效果 Basic-支持菲涅耳发光照…

计算机速成课Crash Course - 07. 中央处理器

今天开始计算机速成课Crash Course的系列讲解。 更多技术文章,全网首发公众号 “摸鱼IT” 锁定 -上午11点 - ,感谢大家关注、转发、点赞! 计算机速成课Crash Course - 07. 中央处理器 07. 中央处理器 提示下,这集可能是最难的一…

python之记录程序运行时长工具

python之记录程序运行时长工具 废话不多话,上代码 from datetime import datetime, timedelta import timestart_time datetime.now()while True:current_time datetime.now()elapsed_time current_time - start_timeformatted_time str(elapsed_time).split(…

QGIS之二十六pbf转osm转shp

效果 步骤 1、下载工具 用于转换osm.pbf–>.osm,当然也可以反过来,还支持其它格式互相转换 osmconvert64-0.8.8p.exe 链接:https://pan.baidu.com/s/1Mj-6b30f6voOkQI8QFh_rw 提取码:1111 2、国内各省下载OSM数据 http://download.openstreetmap.fr/extracts/asia/c…

AI入侵B站鬼畜区!网友辣评:不如传统“活字乱刷术”

11月27日,B站UP主“女孩为何穿短裙”突破传统,投稿一则使用AI合成语音制作的鬼畜视频,标志着AI视频制作正式进入B站鬼畜区。视频播放量截至目前已达167.3万,获得14.5万的点赞和2.8万个投币。 鬼畜视频一直以其独特之处引起关注&a…

vue el-select多选封装及使用

使用了Element UI库中的el-select和el-option组件来构建多选下拉框。同时&#xff0c;也包含了一个el-input组件用于过滤搜索选择项&#xff0c;以及el-checkbox-group和el-checkbox组件用于显示多选项。 创建组件index.vue (src/common-ui/selectMultiple/index.vue) <tem…

宝塔部署appache部署ssl证书无法访问443端口

原因&#xff1a; 不是部署方法错误&#xff0c;而是操作不当&#xff0c;原来一开始为了测试我去修改了appache默配置路径下的httpd-ssl.donf&#xff0c;此文件一般 在appche/conf/extra/目录下&#xff08;版本不同目录可能有所区别&#xff09;。 导致问题&#xff1a; 在…

java连接池 理解及解释(DBCP、druid、c3p0、HikariCP)

一、在Java开发中&#xff0c;有许多常见的数据库连接池可供选择。以下是一些常见的Java数据库连接池&#xff1a;不使用数据库连接池的特性&#xff1a; 优点&#xff1a;实现简单 缺点&#xff1a;网络 IO 较多数据库的负载较高响应时间较长及 QPS 较低应用频繁的创建连接和关…

高低压供配电智能监控系统

高低压供配电智能监控系统是一种综合运用物联网、云计算、大数据和人工智能等技术的智能化监控系统&#xff0c;用于实时监测高低压供配电设备的运行状态和电能质量&#xff0c;及时发现和处理供配电系统中存在的问题&#xff0c;提高供配电系统的安全性和可靠性。依托电易云-智…

漏洞复现--万户ezoffice wpsservlet任意文件上传

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…