灵活、可用、高扩展,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=szkyzg
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Meetup 回顾|Data Infra 研究社第十六期(含资料发布)
本文整理于上周六(10月21日)Data Infra 第 16 期的活动内容。本次活动由 Databend 研发工程师-王旭东为大家带来了一场主题为《Databend hash join spill 设计与实现》的分享,让我们一起回顾一下吧~ 以下是本次活动的相关视频、资料及文字: 通过本次分享,我们能更加了解Databend的hash join spill的设计与实现,以及学习如何使用spill功能。 本次活动回放也可在 B 站上找到: 🔗https://www.bilibili.com/video/BV1pC4y137sN?t=3.7 《Databend hash join spill 设计与实现》 此次活动的讲稿和相关资料都可以在 Data Infra 第 16期的 PDF 文件中找到:🔗https://github.com/databendcn/data-infra/tree/main/第16期-20231021 Hash join 在 pipeline 架构下的设计 左侧是一个典型的两表 join plan,通过 pipeline builder 会生成右侧的 pipel...
- 下一篇
什么是虚拟线程?一次启1000万个会OOM吗?
之前,在Java新特性专栏中,我们简单介绍了Java 21正式发布的虚拟线程。 昨天,正好看到一个讲解此内容的视频,非常不错,所以DD这里给大家翻译好了,感兴趣的可以看看。可以进一步了解虚拟线程:《什么是虚拟线程?一次启1000万个会怎么样?》 。该视频采用Chrome插件Youtube中文配音做了翻译+配音处理,如果您平时也有上油管看前沿视频的话,也可以装一个,可以有效的提高你的学习效率 ^_^。 如果您当前环境不适合观看视频,也可以通过下面的文字内容学习。下面内容是我根据视频内容,总结的,会更简洁一些。 什么是虚拟线程 虚拟线程是在Java并发领域添加的一个新概念,那么虚拟线程到底是做什么用的呢? 根据JEP中的内容告诉我们,虚拟线程是一种轻量级线程,可以显著地帮助我们减少编写、维护、观察高吞吐量应用程序的工作量。它的实现目标有以下几点: 每个请求一个线程风格编写的程序,能够以接近最佳硬件利用率进行扩展。 什么是每个请求一个线程的风格? 对于HTTP服务器来说,这意味着每个HTTP请求都由它自己的线程处理。对于关系型数据库服务器来说,这意味着每个SQL事务也都由它自己的线程处理。如...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Linux系统CentOS6、CentOS7手动修改IP地址