资讯专栏INFORMATION COLUMN

HDFS配置Ranger 智能大数据平台 USDP

ernest.wang / 2093人阅读

摘要:填入规则如下图所示配置代理参数配置代理参数在下方中配置代理参数如下配置完成后如下图所示然后点击按钮,如果得到如下图所示样例,则表示成功。配置信息,如下图所示配置权限类型配置权限类型配置权限可以分为两种类别允许的权限拒绝的权限。

HDFS配置Ranger

本篇目录

启用 HDFS-Ranger 插件配置权限添加测试用户编辑权限验证权限配置

HDFS 作为底层存储,本章节将以 HDFS 为例,进行说明。

启用 HDFS-Ranger 插件

1. 登陆NameNode所在集群节点并完成下述操作

首先需要分别在两台 NameNode 节点上开启 HDFS Ranger 插件,并重启集群,命令如下:

/srv/udp/1.0.0.0/hdfs/ranger-hdfs-plugin/enable-hdfs-plugin.sh 

注:可通过 USDP 控制台查看 HDFS 相关组件中,NameNode1、NameNode2 分别运行在集群的哪些节点上。

此时会在当前节点的如下目录自动生成相关权限配置:

/srv/udp/1.0.0.0/hdfs/etc/hadoop/hdfs-site.xml
<property>
    <name>dfs.permissions.enabledname>
    <value>truevalue>
property>
<property>
    <name>dfs.permissionsname>
    <value>truevalue>
property>
<property>
    <name>dfs.namenode.inode.attributes.provider.classname>
    <value>org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizervalue>
property>

并自动在该目录下生成软链接:

/srv/udp/1.0.0.0/hdfs/share/hadoop/hdfs/lib
ranger-hdfs-plugin-impl -> /srv/udp/1.0.0.0/hdfs/ranger-hdfs-plugin/lib/ranger-hdfs-plugin-impl
ranger-hdfs-plugin-shim-1.2.0.jar -> /srv/udp/1.0.0.0/hdfs/ranger-hdfs-plugin/lib/ranger-hdfs-plugin-shim-1.2.0.jar
ranger-plugin-classloader-1.2.0.jar -> /srv/udp/1.0.0.0/hdfs/ranger-hdfs-plugin/lib/ranger-plugin-classloader-1.2.0.jar

注意:此时,需要通过 USDP 控制台重启两个NameNode

2. 在USDP控制台完成两个NameNode服务重启

进入左侧导航栏 “服务管理”-“存储类”-“HDFS” 中,点击 “组件管理”,寻找到 “NameNode1”、“NameNode2” 组件后,点击 “NameNode1”、“NameNode2” 组件对应的 “操作” 栏 重启 按钮。

ranger-202011241002151124

配置权限

1. 访问 Ranger Web UI 页面

请在云端内网环境中使用浏览器访问 Ranger Web UI页面。

2. 添加 HDFS-Service

在Service Manager页面的 HDFS 条目中,点击 + 按钮进行创建 Service,如下图所示:

ranger-20201106131208683

进入Create Service服务配置页面,在 Service Name 输入框中填入如下值:

ranger-hdfs-service

注意: 此处必须填写此值!

ranger-20201106131359431

3. 配置 HDFS-Service 用户名密码

填入用户名密码为如下:

Username:hadoop
Password:hadoop
4. 配置 NameNode HA 参数

在 NameNode URL 中填入如下配置:

hdfs://usdp-xxx-master1:8020,hdfs://usdp-xxx-master2:8020

注意:请替换示例中主机名字符串中的“xxx”为正确的主机名字符串。

填入规则如下图所示:

ranger-20201106131634840

5. 配置代理参数

在下方 Add New Configuration 中配置代理参数如下:

policy.download.auth.users: hadoop

配置完成后如下图所示:

ranger-20201106131950006

然后点击 Test Connection 按钮,如果得到如下图所示样例,则表示成功。

ranger-20201106132041822

然后,点击 Add 按钮,此时Ranger Web UI的Service Manager页面显示如下:

ranger-202011242k385d789

添加测试用户

1. 添加用户

在 Ranger Web UI 中,点击顶部导航栏 “Settings” 菜单,选择“Users”标签页,点击页面右侧的 Add New User 添加测试用户,如下图所示:

ranger-20201106133930992

编辑内容,完成后点击 Save 按钮保存,如下图所示:

ranger-20201106134013185

注:Select Role 中,选择 User 类型,而非 Admin 类型。

2. 在 Linux 中添加用户

通过 ssh 在集群节点上,添加与上述配置相同的用户test1,命令如下:

useradd test1
3. 验证用户当前权限

使用如下命令,验证刚添加的 test1 用户是否拥有对应权限:

su -s /bin/bash test1 -c "/srv/udp/1.0.0.0/hdfs/bin/hdfs dfs -ls /"

返回结果如下:

drwxrwxr-x   - hadoop supergroup          0 2020-11-06 11:28 /flink-completed-jobs
drwxr-xr-x   - hadoop supergroup          0 2020-11-06 11:30 /hbase
drwxr-xr-x   - hadoop supergroup          0 2020-11-06 11:29 /kylin
drwxrwxr-x   - hadoop supergroup          0 2020-11-06 11:28 /spark-logs
drwxr-xr-x   - hadoop supergroup          0 2020-11-06 11:27 /tez
drwxrwx---   - hadoop supergroup          0 2020-11-06 11:28 /tmp
drwxr-xr-x   - hadoop supergroup          0 2020-11-06 11:28 /user

此时证明 test1 用户对HDFS的根目录拥有访问权限。

编辑权限

接下来,以配置拒绝 test1 用户访问 HDFS 为例,进行示例说明。

1. 进入编辑页面

如下图所示,进入HDFS条目的“ranger-hdfs-service”策略编辑页面:

ranger-20201106132157001

2. 删除默认规则

首先,删除Ranger默认的权限策略,如下图所示:

ranger-20201106132231930

3. 添加自定义规则

点击右上角的 Add New Policy 即可添加自定义权限策略规则,如下图所示:

ranger-20201106132317649

4. 配置 Policy Details

在 Policy Name 属性中,建议键入比较有标识度的规则名称,例如:deny_test1_all,即,拒绝 test1 用户所有对 HDFS 的操作。

同时,在 Resource Path 中输入HDFS的根目录:/ 并键入回车,同时,要确保 recursive 滑块处于开启状态。

配置信息,如下图所示:

ranger-20201106134404122

5. 配置权限类型

配置权限可以分为两种类别:允许的权限、拒绝的权限。

本例中,以配置拒绝的权限为例进行说明,即拒绝 test1 用户对 HDFS 根目录及其子目录下的所有操作。参考如下 “配置拒绝权限” 所示进行配置操作。

配置允许的权限,如下图所示:

ranger-20201106132922759

配置拒绝的权限,如下图所示:

ranger-20201106134453012

6. 查看配置完成的权限

完成上述配置项填写后,点击 Add 按钮保存,即已完成添加自定义策略配置,并回到权限策略概览页面,如下图所示:

ranger-20201106134520978

注:权限添加后,大约需要 1 分钟左右即会生效。

验证权限配置

接下来,通过 ssh 访问集群中安装了 HDFS 服务组件的“任意”节点,进行 shell 操作来验证权限是否生效。

试验命令如下:

su -s /bin/bash test1 -c "/srv/udp/1.0.0.0/hdfs/bin/hdfs dfs -ls /"

若返回如下信息,说明当前节点本地无“test1”用户

su: user test2 does not exist

参见1.3.2节,执行 “useradd test1”添加test1用户后再重试上述命令,返回结果如下:

ls: Permission denied: user=test1, access=EXECUTE, inode="/"

此时证明权限配置已生效,test1用户已无权访问HDFS的任何目录了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127017.html

相关文章

  • 集群创建 智能数据平台 USDP

    摘要:点击创建集群按钮开始创建集群资源点击创建集群按钮开始创建集群资源创建集群创建集群设置地域和可用区信息设置地域和可用区信息请根据您的需要,在创建集群向导中设置新集群所归属的地域及可用区信息。 集群创建本篇目录开始创建集群资源开始部署集群服务和组件智能大数据平台USDP集群的创建过程,分为两个部分,即在公有云控制台中,创建USDP的集群资源,待创建完成后,进入您独享的USDP管理服务开始规划并创...

    ernest.wang 评论1 收藏3013
  • UCloud一站式智能数据平台USDP免费版正式发布!

    摘要:企业微信截图企业微信截图兼容最广的一站式智能大数据平台涵盖了等众多开源大数据组件,支持对这些组件进行运维中台建设数据开发业务可视化等全栈式大数据开发运维管理。通过一站式智能大数据平台支持的等分布式运算框架,可以高效的进行机器学习应用开发。背景在大数据业务系统中,所有技术栈生态均是围绕着存储进行扩展的,目前开源的主流存储技术栈主要包含如下 3 种类型:· HDFS:Hadoop 系列套件,包含...

    Tecode 评论0 收藏0
  • UCloud发布一站式智能数据平台USDP免费版附USDP资源下载地址

    摘要:机器学习机器学习通过算法对大量数据进行分析,挖掘出其中蕴含的规律,并用于事物预测或者分类,有大量的计算需求。通过一站式智能大数据平台支持的等分布式运算框架,可以高效的进行机器学习应用开发。在大数据业务系统中,所有技术栈生态均是围绕着存储进行扩展的,目前开源的主流存储技术栈主要包含如下 3 种类型:· HDFS:Hadoop 系列套件,包含 Hive、Hbase、Phoenix 等;· Ela...

    Tecode 评论0 收藏0
  • UCloud智能数据平台USDP上线,助力企业快速构建数据服务

    在互联网市场的头部效应下,企业所面临的竞争压力越来越大,如何有效解决获客成本高、用户黏性低、变现能力弱等问题,正是越来越多的企业开始构建大数据平台的初衷。但由于大数据解决方案所涉及的组件错综复杂、技术门槛较高,且初期投入的资源和后期的维护成本较大,十分考验企业的大数据平台组建和运维能力。因此,UCloud大数据团队于近期上线了大数据智能平台(UCloud Smart Data Platform,下...

    Tecode 评论0 收藏0
  • 功能简介 智能数据平台 USDP

    摘要:功能简介功能简介功能简介本篇目录一功能点概述一功能点概述二支持的大数据生态服务二支持的大数据生态服务一功能点概述一功能点概述一功能点概述支持友好的浏览器管理控制台支持集群节点管理,如节点监控资源使用率节点状态等支持集群大数据服务的服 功能简介本篇目录一、功能点概述二、支持的大数据生态服务一、功能点概述支持友好的Web浏览器管理控制台;支持集群节点管理,如节点监控、资源使用率、节点状态等;支持...

    ernest.wang 评论0 收藏2278

发表评论

0条评论

ernest.wang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<