写点什么

灵活、可用、高扩展,EasyMR 带来全新 Yarn 的队列管理功能及可视化配置

作者:袋鼠云数栈
  • 2023-10-25
    浙江
  • 本文字数:2124 字

    阅读完需:约 7 分钟

灵活、可用、高扩展,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/1001?src=szsm


《数栈 V6.0 产品白皮书》下载地址:https://www.dtstack.com/resources/1004?src=szsm


想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szinfoq


同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术 qun」,交流最新开源技术信息,qun 号码:30537511,项目地址:https://github.com/DTStack

发布于: 刚刚阅读数: 6
用户头像

还未添加个人签名 2021-05-06 加入

还未添加个人简介

评论

发布
暂无评论
灵活、可用、高扩展,EasyMR 带来全新 Yarn 的队列管理功能及可视化配置_hadoop_袋鼠云数栈_InfoQ写作社区