灵活、可用、高扩展,EasyMR 带来全新 Yarn 的队列管理功能及可视化配置
YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统中的资源调度器,主要用于资源管理和作业调度。YARN 自身具备队列管理功能,通过对 YARN 资源队列进行配置和管理,实现集群资源的分配,以满足不同应用和用户的需求。YARN 的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
在大数据环境下,企业通常会有多个应用程序同时运行,这些应用程序可能具有不同的资源需求和优先级。为了合理分配和管理资源,避免资源争夺和冲突,需要对资源进行划分和调度。
本文将为大家介绍各类资源划分和队列管理方式,以及 EasyMR 新上线的 YARN 的队列管理功能,如何通过可视化界面管理,给广大用户带来更高效和便捷的队列管理体验。
资源划分方式
在大数据领域中,常见的资源划分方式通常有以下几种:
按照应用程序的类型或特性进行分类
例如,可以将 CPU 密集型的应用程序放置在一个队列中,将内存密集型的应用程序放置在另一个队列中。通过这种方式,可以确保不同类型的应用程序获得各自所需的资源,并避免资源浪费和不均衡的情况发生。
按照应用程序的优先级进行分类
对于一些重要的任务或紧急任务,可以为它们分配更高的资源配额和优先级,以保证它们能够得到及时响应和优先处理。而对于一些次要的任务或低优先级的任务,可以为它们分配较低的资源配额,以确保其他重要任务的执行效率和优先级。
按照部门或团队的需求进行分类
不同部门可能对资源有不同的需求,通过为不同部门分配独立的资源队列,可以确保每个部门能够独立管理和分配自己的资源,不会相互干扰或影响。
虽然 YARN 自身具备队列管理功能,但在实际使用中,YARN 只能通过配置文件进行资源队列的管理,这种方式相对繁琐且需要一定的技术知识。

CDH & HDP
业界首选的基础开源数据平台要数基于 Hadoop 分布式技术的 CDH 和 HDP。
CDH(Cloudear Manager)
● Fair Share 策略
CDH 的 Cloudear Manager 采用Fair Share 策略,每个用户或组织的权重和优先级需要事先确定,需要管理者对系统的使用情况有较好的了解。如果这些设置不合理,可能会导致某些用户或组织长期不能获得足够的资源来执行任务。
● 调度效率影响
当有多个任务或作业同时提交时, Fair Share 的算法需要进行复杂的计算,导致调度效率下降。
HDP(Ambari)
● 管理复杂性
Ambari 采用可视化拖拽进行资源调整,操作简单。但是由于 Yarn 资源队列必须保证同一级队列资源之和等于100%,因此单一队列资源调整,必须调整其他队列资源保证队列资源之和等于100%,管理复杂度比较高。
● 资源配平
为保证同级队列资源之和等于100%,创建或者删除队列时,需要调整其他队列资源保证队列资源。
EasyMR 的 Yarn 资源队列管理功能
基于上述优缺点,为了改善队列管理体验,提供一个更直观、更详细的信息展示和简易明了的操作界面进行队列资源管理,EasyMR 上线了 Yarn 的队列管理功能进行可视化界面管理,提高其灵活性、可用性和可扩展性。

EasyMR 的 Yarn 资源队列管理特点
● 容量策略
基于最大、最小资源容量策略,限制队列的资源使用,用户或部门可以根据自己业务需求创建属于自己的专属资源队列。
● 队列独立
当调整队列资源大小或者创建删除队列时,无需调整其他队列资源大小,仅需保证同一父队列下所有子队列资源小于等于100%即可。
● 用户对接
支持对接 LDAP、OAuth 用户体系,通过对 Yarn 资源队列-叶子队列绑定用户、用户组,实现了基于用户和用户组的访问控制和资源分配,保障资源安全。
叶子队列:是指不能再分配子队列的队列,它可以直接用来分配资源给应用程序,在叶子队列中,可以直接运行应用程序或者将它们放置在默认分配队列中进行调度。
非叶子队列:可以再分配子队列,以进一步划分资源并进行资源管理,不支持应用程序和任务的提交。例如,可以将 CPU 密集型应用程序和内存密集型应用程序分别放置在不同的子队列中,并为它们分配不同的资源配额和优先级。
父队列:通常是一个非叶子队列,它包含多个子队列,并控制着这些子队列的资源分配和优先级等属性。例如,一个父队列可以包含多个子队列“memory”、“cpu”等,通过为不同的子队列设置不同的资源配额和优先级,可以更好地管理集群中的资源。
子队列:是父队列的一部分,它们继承了父队列的所有属性,并具有自己的资源配额和优先级等属性。在子队列中可以运行应用程序不支持再次划分子队列。
EasyMR 如何创建 Yarn 资源队列,在之前的文章《大数据计算引擎 EasyMR 如何简单高效管理 Yarn 资源队列》中进行了详细的介绍,请点击阅读。
未来,EasyMR 会持续优化 Yarn 资源队列管理,完善资源队列的安全审计与队列监控,通过将资源队列与需求背景进行对应,制定更优资源分配策略,以更好地满足企业在大数据环境下的资源管理和调度需求。
《数栈产品白皮书》:https://www.dtstack.com/resources/1004?src=szsm
《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack
灵活、可用、高扩展,EasyMR 带来全新 Yarn 的队列管理功能及可视化配置的更多相关文章
- Java架构师/高并发/高可用/高扩展/性能优化/框架源码分析实战
https://ke.qq.com/course/401944?taid=3389721334391320
- Yarn 的日志聚集功能配置使用
需要 hadoop 的安装目录/etc/hadoop/yarn-site.xml 中进行配置 配置内容 <property> <name>yarn.log-aggregati ...
- 人人都可以开发高可用高伸缩应用——论Azure Service Fabric的意义
今天推荐的文章其实是微软的一篇官方公告,宣布其即将发布的一个支撑高可用高伸缩云服务的框架--Azure Service Fabric. 前两天,微软Azure平台的CTO Mark Russinovi ...
- 带来全新的网络格局---html5
自从HTML5诞生之后,就是开始建立了一个标准的原则,那就是所有的技术它必须是面向开放,并不能有专利的一个存在,在整个期间Opera捐献了css技术,而google的话则是给开发者提供了视频的webM ...
- 高扩展的基于NIO的服务器架构(二)
接上文高扩展的基于NIO的服务器架构 Reactor模式 如下图所示,将不同事件的检测分离开,当一种事件发生时一个事件处理器EventHandler将通知与该事件处理相对应的专用工作线程 采用这种架构 ...
- 高扩展的基于NIO的服务器架构
当你考虑写一个扩展性良好的基于Java的服务器时,相信你会毫不犹豫地使用Java的NIO包.为了确保你的服务器能够健壮.稳定地运行,你可能会花大量的时间阅读博客和教程来了解线程同步的NIO selec ...
- (转)mysql数据库高可用高扩展性架构方案实施
http://shanhu.blog.51cto.com/1293405/1212605-----mysql数据库高可用高扩展性架构方案实施
- eoLinker上线两周年+ AMS V4.0 发布:全新UI界面,带来领先的API开发管理解决方案!
2018年7月,eoLinker 发布了<eoLinker AMS 2018年年中用户调研问卷>,前后经历一周的时间,共收集到超过1000份有效调查问卷.超过300个有效改进意见. eoL ...
- 在CentOS上使用Nginx和Tomcat搭建高可用高并发网站
目录 目录 前言 创建CentOS虚拟机 安装Nginx 安装Tomcat 安装lvs和keepalived 反向代理 部署网站 搭建数据库 编写网站项目 解决session一致性 注意 参考资料 前 ...
- PHP开发 高可用 高安全App后端(免费)
PHP开发高可用高安全App后端 第1章 本章先讲解课程所含技术点,并演示相关的项目,让小伙伴对课程有个初步的认知,然后再带领小伙伴进行功能的分析,表的ER总关系图 第2章 本章主要讲解课程的一些准备 ...
随机推荐
- 思绪碎片:一个INFP的自我对话
## 关于存在与意义 > "我写一些东西,不是为了让别人看见,而是为了未来的我." -- 阮一峰 - 未知带来的心慌持续蔓延 - **根本症结**:自身的弱小,无法坦然面对生 ...
- 9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明
9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明 @ 目录 9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明 1. RabbitMQ 消息队列的 " ...
- 为什么 Java 的垃圾收集器将堆分为老年代和新生代?
为什么 Java 的垃圾收集器将堆分为老年代和新生代? Java 垃圾收集器通过将堆内存划分为 新生代 和 老年代,优化了内存管理,提高了垃圾回收的效率.这种分代思想是基于 对象生命周期的特点. 1. ...
- CTFHub技能树RCE命令注入
1.命令注入 // 关键代码 <?php $res = FALSE; if (isset($_GET['ip']) && $_GET['ip']) {// 传入ip, $cmd ...
- GoView:Start14.6k,上车啦上车啦,Vue3低代码平台GoView,零代码+全栈框架
GoView:Start14.6k,上车啦上车啦,Vue3低代码平台GoView,零代码+全栈框架 项目介绍 GoView 是一个Vue3搭建的低代码数据可视化开发平台,将图表或页面元素封装为基础组件 ...
- Spring基于注解的IOC配置
目录 基于注解的IOC配置 1.用于创建对象的注解 2.用于注入数据的 3.用于改变作用范围的 和生命周期相关 基于注解的IOC配置 曾经XML的配置 <bean id="accoun ...
- 【BUG】C语言|左移之后,最高位的数字还在吗?(整型提升)
文章目录 问题概述 应用 怀旧 问题概述 这个错是刚学c语言的时候碰到的,突然好想我的c语言老师,所以在此记录一下. #include<stdio.h> void main(){ unsi ...
- MySQL同步ES的6种方案!
引言 在分布式架构中,MySQL与Elasticsearch(ES)的协同已成为解决高并发查询与复杂检索的标配组合. 然而,如何实现两者间的高效数据同步,是架构设计中绕不开的难题. 这篇文章跟大家一起 ...
- Docker手册
docker手册 安装 # 移除旧版本dockersudo yum remove docker \ docker-client \ ...
- Webkit 实现页面滚动条美化
当页面或者某个容器布局内容超出过后, 就会有滚动条, 但默认的有点丑, 经常需要自己来美化一下, 这里做个笔记吧. /* 美化全局的滚动条 */ ::-webkit-scrollbar { width ...