[发明专利]一种基于yarn的cgroup内存控制优化方法及系统有效
申请号: | 201711493850.X | 申请日: | 2017-12-31 |
公开(公告)号: | CN108121605B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 叶铿;董喆 | 申请(专利权)人: | 武汉烽火云创软件技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 武汉蓝宝石专利代理事务所(特殊普通合伙) 42242 | 代理人: | 吴阳 |
地址: | 430000 湖北省武汉市东*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 yarn cgroup 内存 控制 优化 方法 系统 | ||
一种基于yarn的cgroup内存控制优化方法,其包括如下步骤:S1、在每个管理节点NM启动时对容器container所在的控制组cgroup内存控制目录的父目录设置一个跟计算节点相关的内存hardlimit;S2、开启event_control功能用以打开面向对象方法oom事件监听功能,开启use_hierarchy;S3、开启oom_kill_disable功能用于关闭oom kill功能,并将oom kill功能交给NM启动的另外一个独立的线程Container Monitor进行处理;S4、将在用户提交应用程序app时设置的硬件限制hardlimit修改为cgroup中container所在目录的softlimit。
技术领域
本发明涉及大数据yarn平台技术领域,尤其涉及一种基于yarn的cgroup内存控制优化方法及系统。
背景技术
YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和一个针对应用程序的ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或Spark作业。
YARN分层结构的本质是ResourceManager。这个实体控制整个集群并管理应用程序向基础计算资源的分配。ResourceManager将各个资源部分(计算、内存、带宽等)精心安排给基础NodeManager(YARN的每节点代理)。ResourceManager还与ApplicationMaster一起分配资源,NodeManager监视基础应用程序,并利用Container提供资源。ApplicationMaster与ApplicationMaster一起承担了以前的TaskTracker的一些角色,ResourceManager承担了JobTracker的角色。
ApplicationMaster管理一个在YARN内运行的应用程序的每个实例。ApplicationMaster负责协调来自ResourceManager的资源,并通过NodeManager监视容器的执行和资源使用(CPU、内存等的资源分配)。请注意,尽管目前的资源更加传统(CPU核心、内存),但未来会带来基于手头任务的新资源类型(比如图形处理单元或专用处理设备)。从YARN角度讲,ApplicationMaster是用户代码,因此存在潜在的安全问题。YARN假设ApplicationMaster存在错误或者甚至是恶意的,因此将它们当作无特权的代码对待。
NodeManager管理一个YARN集群中的每个节点。NodeManager提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。MRv1通过插槽管理Map和Reduce任务的执行,而NodeManager管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。YARN继续使用HDFS层。它的主要NameNode用于元数据服务,而DataNode用于分散在一个集群中的复制存储服务。
要使用一个YARN集群,首先需要来自包含一个应用程序的客户的请求。ResourceManager协商一个Container的必要资源,启动一个ApplicationMaster来表示已提交的应用程序。通过使用一个资源请求协议,ApplicationMaster协商每个节点上供应用程序使用的Container资源。执行应用程序时,ApplicationMaster监视容器直到完成。当应用程序完成时,ApplicationMaster从ResourceManager注销所使用的Container,执行周期就完成了。
随着大数据计算平台yarn的不断推广,各种离线的和在线的任务都选择运行在该平台上,并且通过cgroup精确的控制container运行时使用资源,多种任务能够同时运行在一个“相对独立”的容器内,但是在用户对资源使用预估不是很准确的情况下,会出现计算节点资源很充足,但是container仍然被cgroup杀掉的问题,特别是针对长尾任务,重复运行需要几天甚至一周多的时间,极大的降低了yarn平台的吞吐率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉烽火云创软件技术有限公司,未经武汉烽火云创软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711493850.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:计算机软件的管理系统及方法
- 下一篇:基于联调接口的编码数据生成的方法及装置