1、Ranger开启Yarn插件
Ambari WebUI=>Ranger=>CONFIGS=>RANGER PLUGIN=>YARN Ranger Plugin=>ON=>重启Yarn
![](https://img.haomeiwen.com/i17572385/9f8a5446cc2b1235.png)
2、授权示例
如给ranger_yarn用户授予Yarn队列root.offline提交任务的权限。
1.新建ranger_yarn用户
在集群节点上新建用户:useradd ranger_yarn
-
新建队列offline
Ambari WebUI=>Views=>YARN Queue Manager=>+Add Queue => 新建队列完毕,重启Yarn
image.png
![](https://img.haomeiwen.com/i17572385/79b1b50c735f1314.png)
3.修改Yarn配置文件
Ambari WebUI => YARN =>CONFIGS=>ADVANCED=>Advanced ranger-yarn-security
设置:Add YARN Authorization=false ,保存,重启Yarn
如果不关闭,Ranger对Yarn的授权无效。
![](https://img.haomeiwen.com/i17572385/e39e5f8200d932eb.png)
4.配置range_yarn访问hdfs的权限
使用Yarn提交MapReduce任务的时候,中间结果会保存在HDFS,/user/username/,如果/user目录下用户目录下不存在,则被创建,当MR执行结束之后,中间结果会被删除,目录保留。
![](https://img.haomeiwen.com/i17572385/999b40eebc150741.png)
![](https://img.haomeiwen.com/i17572385/1219ce49ae05d934.png)
5.提交队列
hadoop jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi -Dmapred.job.queue.name=offline 10 100
![](https://img.haomeiwen.com/i17572385/ce60f46a6060c96f.png)
执行以上步骤,到此时,提交队列时,才有如下报错,也就是说,Ranger才控制Yarn的权限
java.io.IOException: org.apache.hadoop.yarn.exceptions.YarnException: org.apache.hadoop.security.AccessControlException: User ranger_yarn does not have permission to submit application_1571324810530_0001 to queue offline
在Ranger授权
![](https://img.haomeiwen.com/i17572385/c65c1c38e9728ef1.png)
授权之后,执行成功
![](https://img.haomeiwen.com/i17572385/35c3d95aa4204367.png)
![](https://img.haomeiwen.com/i17572385/30b48d98cb78f016.png)
————————————————
版权声明:本文为CSDN博主「@TangXin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Happy_Sunshine_Boy/article/details/102602278
网友评论