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上的 ...
随机推荐
- JQuery实现表格动态增加行并对新行添加事件
实现功能: 通常在编辑表格时表格的行数是不确定的,如果一次增加太多行可能导致页面内容太多,反应变慢:通过此程序实现表格动态增加行,一直保持最下面有多个空白行. 效果: 一:原始页面 二:表1增加新行并 ...
- mybayis分页插件
转载自 https://www.cnblogs.com/ljdblog/p/6725094.html
- 方法二:Excel 2016 VBA工程密码破解
将你要破解的Excel文件关闭,切记一定要关闭呀!然后新建一个Excel文件 打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示 将代码复制到这个模块中,代码如下:Pr ...
- iOS 图表工具charts之BarChartView
关于charts的系列视图介绍传送门: iOS 图表工具charts介绍 iOS 图表工具charts之LineChartView iOS 图表工具charts之BarChartView iOS 图表 ...
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...
- 【Java基础】JAVA 使用线程的几种方式
之前放在自己网站上的例子,因为网站关闭,已经找不到了,想用的时候,没有的话又重新翻书是很麻烦的事情.所以重新记录一下,以备将来查看. 第一种,让任务类继承Runable接口,然后将任务类对象放入Thr ...
- pcap中不同包功能
1.不同包协议的功能 EAPoL:基于局域网的扩展认证协议 ICMPv6:(一般是四个连在一起)互联网控制协议第六套 DHCP Discover:请求分配IP DHCP Offer:你的IP是***, ...
- 在Opencv中将一幅图像均分成M* N个小图像
std::vector<std::vector<Mat> > partitionImage(Mat&src,int rows,int cols) 函数中有三个输入参数, ...
- vue2创建webpack项目build之后无法正常显示页面的问题
最近在做vue项目的时候,项目正常运行,但是当我打包上线之后,却出现无法出现页面空白的情况,打开控制台,发现无法加载到css和js文件. 仔细观察发现路径中少了一个dis文件夹,于是我加上dist文件 ...
- k-交叉验证KFold
交叉验证的原理放在后面,先看函数. 设X是一个9*3的矩阵,即9个样本,3个特征,y是一个9维列向量,即9个标签.现在我要进行3折交叉验证. 执行kFold = KFold(n_splits=3) : ...