配置YARN队列权限由Ranger管理

11 篇文章 1 订阅
3 篇文章 0 订阅

配置YARN队列权限由Ranger管理

背景

黑龙江项目对YARN的队列容量成功配置后,还需要对该队列的访问权限进行配置,这样就能限制其他租户使用该队列。在OCDP集群中,YARN的队列访问控制由Ranger组件完成。

问题

ranger对hdfs,hive,hbase管控都没有问题,对队列的管控要不全能访问,要不全不能访问,一定是ranger哪个地方配置不对

解决

配置

a. 在Ambari中打开Ranger配置界面(Ranger->Configs->Advanced->YARN Ranger Plugin),打开YARN Ranger Plugin。保存配置并重启受影响的组件。

图1 配置Ranger YARN Plugin

b. 在Ambari中打开YARN配置界面(YARN->Configs->Advanced->Custom ranger-yarn-security),配置属性ranger.add-yarn-authorization为false,如下图所示。这样配置的目的是禁用YARN本身的ACL权限控制,YARN队列的权限控制由Ranger统一管理。

在这里插入图片描述

图2 禁用YARN自身ACL权限控制

c. 打开Ranger界面,在Access Manager->Resource Based Policies下,选择YARN->HDP_yarn,创建新策略(Add New Policy)。配置策略名,需要设定访问控制的队列,在用户和用户组权限中选择用户,或者组,并赋予相应的权限,如下图所示。

在这里插入图片描述

图3 Ranger新增YARN权限控制

按照上述的配置完成后,即实现了Hadoop集群中多租户资源分配和调度,即:不同的租户根据各自配置的队列获取集群资源;并且对各队列的资源具有访问控制,未被授权的租户不能获取该队列的资源。

yarn队列配置

yarn.scheduler.capacity.maximum-am-resource-percent=0.2
yarn.scheduler.capacity.maximum-applications=10000
yarn.scheduler.capacity.node-locality-delay=40
yarn.scheduler.capacity.queue-mappings-override.enable=false
yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator
yarn.scheduler.capacity.root.accessible-node-labels=*
yarn.scheduler.capacity.root.acl_administer_queue=*
yarn.scheduler.capacity.root.acl_submit_applications=*
yarn.scheduler.capacity.root.capacity=100
yarn.scheduler.capacity.root.default.acl_administer_queue=ocdp,oc_ai_app
yarn.scheduler.capacity.root.default.acl_submit_applications=ocdp,oc_ai_app
yarn.scheduler.capacity.root.default.capacity=10
yarn.scheduler.capacity.root.default.maximum-capacity=20
yarn.scheduler.capacity.root.default.priority=0
yarn.scheduler.capacity.root.default.state=RUNNING
yarn.scheduler.capacity.root.default.user-limit-factor=1
yarn.scheduler.capacity.root.oc_ai.acl_administer_queue=ocdp,oc_ai
yarn.scheduler.capacity.root.oc_ai.acl_submit_applications=oc_ai
yarn.scheduler.capacity.root.oc_ai.capacity=40
yarn.scheduler.capacity.root.oc_ai.maximum-capacity=70
yarn.scheduler.capacity.root.oc_ai.minimum-user-limit-percent=100
yarn.scheduler.capacity.root.oc_ai.ordering-policy=fifo
yarn.scheduler.capacity.root.oc_ai.priority=0
yarn.scheduler.capacity.root.oc_ai.state=RUNNING
yarn.scheduler.capacity.root.oc_ai.user-limit-factor=1
yarn.scheduler.capacity.root.oc_ai_app.acl_administer_queue=ocdp,oc_ai_app
yarn.scheduler.capacity.root.oc_ai_app.acl_submit_applications=oc_ai_app
yarn.scheduler.capacity.root.oc_ai_app.capacity=10
yarn.scheduler.capacity.root.oc_ai_app.maximum-capacity=70
yarn.scheduler.capacity.root.oc_ai_app.minimum-user-limit-percent=100
yarn.scheduler.capacity.root.oc_ai_app.ordering-policy=fifo
yarn.scheduler.capacity.root.oc_ai_app.priority=0
yarn.scheduler.capacity.root.oc_ai_app.state=RUNNING
yarn.scheduler.capacity.root.oc_ai_app.user-limit-factor=1
yarn.scheduler.capacity.root.oc_ai_released.acl_administer_queue=ocdp,oc_ai_released
yarn.scheduler.capacity.root.oc_ai_released.acl_submit_applications=oc_ai_released
yarn.scheduler.capacity.root.oc_ai_released.capacity=10
yarn.scheduler.capacity.root.oc_ai_released.maximum-capacity=30
yarn.scheduler.capacity.root.oc_ai_released.minimum-user-limit-percent=100
yarn.scheduler.capacity.root.oc_ai_released.ordering-policy=fifo
yarn.scheduler.capacity.root.oc_ai_released.priority=0
yarn.scheduler.capacity.root.oc_ai_released.state=RUNNING
yarn.scheduler.capacity.root.oc_ai_released.user-limit-factor=1
yarn.scheduler.capacity.root.oc_guoxin.acl_administer_queue=ocdp,oc_guoxin
yarn.scheduler.capacity.root.oc_guoxin.acl_submit_applications=oc_guoxin
yarn.scheduler.capacity.root.oc_guoxin.capacity=10
yarn.scheduler.capacity.root.oc_guoxin.maximum-capacity=30
yarn.scheduler.capacity.root.oc_guoxin.minimum-user-limit-percent=100
yarn.scheduler.capacity.root.oc_guoxin.ordering-policy=fifo
yarn.scheduler.capacity.root.oc_guoxin.priority=0
yarn.scheduler.capacity.root.oc_guoxin.state=RUNNING
yarn.scheduler.capacity.root.oc_guoxin.user-limit-factor=1
yarn.scheduler.capacity.root.oc_guoxin_normal.acl_administer_queue=ocdp,oc_guoxin_normal
yarn.scheduler.capacity.root.oc_guoxin_normal.acl_submit_applications=oc_guoxin_normal
yarn.scheduler.capacity.root.oc_guoxin_normal.capacity=10
yarn.scheduler.capacity.root.oc_guoxin_normal.maximum-capacity=15
yarn.scheduler.capacity.root.oc_guoxin_normal.minimum-user-limit-percent=100
yarn.scheduler.capacity.root.oc_guoxin_normal.ordering-policy=fifo
yarn.scheduler.capacity.root.oc_guoxin_normal.priority=0
yarn.scheduler.capacity.root.oc_guoxin_normal.state=RUNNING
yarn.scheduler.capacity.root.oc_guoxin_normal.user-limit-factor=1
yarn.scheduler.capacity.root.oc_telecom.acl_administer_queue=ocdp,oc_telecom
yarn.scheduler.capacity.root.oc_telecom.acl_submit_applications=oc_telecom
yarn.scheduler.capacity.root.oc_telecom.capacity=10
yarn.scheduler.capacity.root.oc_telecom.maximum-capacity=20
yarn.scheduler.capacity.root.oc_telecom.minimum-user-limit-percent=100
yarn.scheduler.capacity.root.oc_telecom.ordering-policy=fifo
yarn.scheduler.capacity.root.oc_telecom.priority=0
yarn.scheduler.capacity.root.oc_telecom.state=RUNNING
yarn.scheduler.capacity.root.oc_telecom.user-limit-factor=1
yarn.scheduler.capacity.root.priority=0
yarn.scheduler.capacity.root.queues=default,oc_ai,oc_ai_app,oc_ai_released,oc_guoxin,oc_guoxin_normal,oc_telecom

注意

1.图2 禁用YARN自身ACL权限控制,要关闭使权限控制完全有ranger管控

2.图3 Ranger新增YARN权限控制,ranger 队列名要使用yarn.scheduler.capacity.<root.oc_guoxin>.capacity即root.oc_guoxin或者root.default而不是 oc_guoxin或者default,否者权限管控是不生效的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yarn 是 Apache Hadoop 生态系统中的一个资源管理器,用于在集群上有效地管理和分配资源。它可以协调和管理集群中运行的各种应用程序的资源需求。 在 Yarn 中,队列是用来对集群资源进行划分和管理的。队列可以理解为资源池,不同队列可以拥有不同的资源配额和调度策略。 Yarn 中的队列分为两种类型:根队列和子队列。根队列是最高级别的队列,而子队列则是根队列的子级。通过对队列进行层次化管理,可以实现资源的有效划分和管理队列资源管理可以通过以下几种方式进行配置: 1. 队列属性配置:可以通过配置文件或命令行参数来设置队列的属性,包括队列名称、最大资源限制、最小资源限制、调度策略等。 2. 队列优先级:可以为每个队列设置优先级,以确保高优先级的应用程序能够获取更多的资源。 3. 队列配额:可以为每个队列设置资源配额,限制队列可以使用的资源数量。这样可以确保不同队列之间的资源分配是公平和均衡的。 4. 队列调度策略:Yarn 提供了多种调度策略,如先进先出、公平调度、容量调度等。可以根据实际需求选择合适的调度策略来满足不同应用程序的资源需求。 通过合理的队列资源管理,可以实现集群资源的高效利用和应用程序的公平调度,从而提高集群的整体性能和资源利用率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值