CDH配置YARN动态资源分配
场景:根据不同项目或不同用户,对yarn资源队列进行划分,达到资源管控,任务管控的目的
yarn资源队列参数设置
当设置为 true 时,如果未指定池名称,Fair Scheduler 将会使用用户名作为默认的池名称,当设置为 false 时,所有应用程序都在一个名为 default 的共享池中运行,设置成false是为了不根据用户名而自动分配资源池
yarn.scheduler.fair.user-as-default-queue false
设置为 true 时,将使用默认设置创建在应用程序中指定但未明确配置的池,设置为 false 时,将在名为 default 的池中运行应用程序指定的未明确配置的池
此设置适用于应用程序明确指定某个池时以及应用程序运行所在的池的名称为与该应用程序关联的用户名的情况
yarn.scheduler.fair.allow-undeclared-pools false
确定哪些用户和组可在任何池中提交和中止应用程序以及可以对 ResourceManager 角色发出命令的 AC,默认是*(所有用户都可以终止任务)
启用 ResourceManager ACL true yarn.admin.acl yarn
修改完配置重启服务
创建测试用户
useradd heboan
passwd heboan useradd dev
passwd dev hdfs dfs -mkdir /user/heboan
hdfs dfs -chown heboan:heboan /user/heboan hdfs dfs -mkdir /user/dev
hdfs dfs -chown dev:dev /user/dev su - heboan
echo "Hello World Bye World" > file0
echo "Hello Hadoop Goodbye Hadoop" > file1
hdfs dfs -mkdir -p /user/heboan/wordcount/input
hdfs dfs -put file* /user/heboan/wordcount/input su - dev
echo "Hello World Bye World" > file0
echo "Hello Hadoop Goodbye Hadoop" > file1
hdfs dfs -mkdir -p /user/dev/wordcount/input
hdfs dfs -put file* /user/dev/wordcount/input
动态资源配置
默认划分了2个资源池
root.default: 默认池,没有划分资源池的用户会提交到default资源池
root.user: 暂时没了解
①编辑root
提交访问控制: 允许这些用户和组向该池提交: 用户: yarn
管理访问空: Allow these users and groups to administer this pool 用户:hdfs
②编辑root.default
提交访问控制: 允许这些用户和组向该池提交 用户: 允许提交的用户名,多个以逗号分隔,这里我配置的是heboan,dev
管理访问控制: Allow these users and groups to administer this pool, 直接继承
③创建2个资源池root.dev和root.heboan
提交访问控制分别设置各自的用户dev ,heboan
管理访问控制直接继承
备注:资源池权重数值越大,与优先
刷新动态资源
测试用户heboan提交任务
su - heboan
可以正常提交到root.heboan资源池
hadoop jar /opt/cloudera/parcels/CDH/jars/hadoop-examples.jar wordcount -Dmapreduce.job.queuename=root.heboan wordcount/input wordcount/output
可以正常提交到root.default资源池
hadoop jar /opt/cloudera/parcels/CDH/jars/hadoop-examples.jar wordcount -Dmapreduce.job.queuename=root.default wordcount/input wordcount/output
无法提交的root.dev资源池
hadoop jar /opt/cloudera/parcels/CDH/jars/hadoop-examples.jar wordcount -Dmapreduce.job.queuename=root.dev wordcount/input wordcount/output
su - dev
结果同理
因为配置了只是允许yarn管理所有的资源池,并且资源池直接继承,hdfs用户才能管理,所以heboan提交的任务只能被自己删除,或者yarn/hdfs, 当然dev提交的任务也是同理
CDH配置YARN动态资源分配的更多相关文章
- spark on yarn 动态资源分配报错的解决:org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:spark_shuffle does not exist
组件:cdh5.14.0 spark是自己编译的spark2.1.0-cdh5.14.0 第一步:确认spark-defaults.conf中添加了如下配置: spark.shuffle.servic ...
- 「Spark从精通到重新入门(二)」Spark中不可不知的动态资源分配
前言 资源是影响 Spark 应用执行效率的一个重要因素.Spark 应用中真正执行 task 的组件是 Executor,可以通过spark.executor.instances 指定 Spark ...
- spark提交至yarn的的动态资源分配
1.为什么开启动态资源分配 ⽤户提交Spark应⽤到Yarn上时,可以通过spark-submit的num-executors参数显示地指定executor 个数,随后,ApplicationMast ...
- Spark动态资源分配-Dynamic Resource Allocation
微信搜索lxw1234bigdata | 邀请体验:数阅–数据管理.OLAP分析与可视化平台 | 赞助作者:赞助作者 Spark动态资源分配-Dynamic Resource Allocation S ...
- 利用动态资源分配优化Spark应用资源利用率
背景 在某地市开展项目的时候,发现数据采集,数据探索,预处理,数据统计,训练预测都需要很多资源,现场资源不够用. 目前该项目的资源3台旧的服务器,每台的资源 内存为128G,cores 为24 (co ...
- Spark如何进行动态资源分配
一.操作场景 对于Spark应用来说,资源是影响Spark应用执行效率的一个重要因素.当一个长期运行的服务,若分配给它多个Executor,可是却没有任何任务分配给它,而此时有其他的应用却资源紧张,这 ...
- 【原创】大叔经验分享(9)yarn重要配置yarn.nodemanager.local-dirs
yarn中有一个比较重要的配置yarn.nodemanager.local-dirs,如果配置的不好,在饱和状态运行下集群会出现很多问题:1 默认配置${hadoop.tmp.dir}/nm-loca ...
- 记一次有关spark动态资源分配和消息总线的爬坑经历
问题: 线上的spark thriftserver运行一段时间以后,ui的executor页面上显示大量的active task,但是从job页面看,并没有任务在跑.此外,由于在yarn mode下, ...
- C#如何根据配置实现动态窗体
本文主要讲述如何根据UI配置来动态生成控件, 并添加到窗体上来构建UI窗体,当用户在每个控件上完成输入操作后,程序通过遍历控件并用拼接字符串的方式动态生成Insert SQL语句,进而实现了将UI上的 ...
随机推荐
- 各种框架实现了经典的 todo 应用
http://todomvc.com/ 版权声明:本文为博主原创文章,未经博主允许不得转载.
- C++入门经典-例6.8-gets_s与puts的应用
1:使用标准输入函数cin和格式化输入函数scanf时都存在这样一个问题:当输入空格时,程序不会接受空格符之后的内容内容. 输入函数gets_s与输出函数puts都只以结束符'\0'作为输入\输出结束 ...
- JSP——指令(Directive)
指令是一种JSP句法元素,它告诉JSP转换器应该如何将某个JSP页面转换成Servlet. JSP 2.2中定义了几个指令:page.include.taglib.tag.attribute以及var ...
- 通过daemon.json配置docker 2375 API端口,配置私有http仓库
编辑daemon.json vi /etc/docker/daemon.json 配置如下内容即可 { "hosts":[ "tcp://0.0.0.0:2375&quo ...
- KahnProcessNetwork的Python实现
用Pytho实现了一个Kahn Process Network: 思路: 用Python的list模拟queue. 每个channel一个queue 用一个list (fgLog)来记录所有push到 ...
- wpf的控件style
前段时间一直在做wpf的UI开发,每次想做些控件style定制的时候都很头疼 很多控件不知道他的controltemplate是什么样的 为了方便大家写style 特别奉上wpf的style大全 从此 ...
- JavaScript日常学习4
JavaScript事件 1.<button id="btn1" onclick="document.getElementById("btn1" ...
- Selenium 2自动化测试实战11(键盘事件)
一.键盘事件 1.Keys()类提供了键盘上几乎所有按键的方法,如下实例: #coding:utf-8 from selenium.webdriver.common.keys import Keys ...
- [Amazon] Program for Fibonacci numbers 斐波那契数列
The Fibonacci numbers are the numbers in the following integer sequence. 0, 1, 1, 2, 3, 5, 8, 13, 21 ...
- WEB应用服务器都有哪些?
大型WEB服务器在UNIX和Linux平台下使用最广泛的免费HTTP服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器.在选择使用WEB ...