PPTV之大数据集群容器化研究

本文讲的是PPTV之大数据集群容器化研究【编者的话】如何统一调度两个集群的物理资源,有效节约成本?

背景

PPTV作为国内视频领域的领先者,对于大规模流媒体的存储、处理、分发及应用,有着迫切的要求。容器技术及微服务模式的出现,使大规模的研发交付效率大为提高。因此我们基于Docker技术打造了DCOS。集群物理资源的调度用Mesos,容器编排用Marathon,并以此为核心,结合Docker和Nginx,开发了DCOS管理控制台,权限管理模块,统一日志管理模块,IP池管理模块,存储管理模块,并与持续集成平台Jenkins集成,实现应用容器的创建、运行。同时我们也有一个独立于容器平台的大数据集群,主要运行批处理任务,它的资源调度系统是Yarn。在容器平台上运行的业务高峰一般发生在白天或晚上的黄金时间,而批处理任务多数运行在深夜。这样就产生一个需求,如果能够统一调度这两个集群的物理资源,业务繁忙的白天将更多的资源用于容器平台,到了深夜就将资源更多地用于批处理任务,就能更有效的节约成本。但是这两个集群采用了两个不同的资源调度系统Mesos和Yarn,使共享资源成为一个课题。本篇介绍了通过Apache Myriad项目解决这一课题的研究。

Mesos资源调度简介

图 1

图1是官方的一个例子。Mesos集群由提供资源的Agent、负责调度资源的Mesos master以及使用资源的Framework构成。

  1. Agent将自己的资源(CPU、内存等)报告给Mesos master。
  2. Mesosmaster根据策略将资源提供(offer)给Framework。
  3. Framework再根据自己的策略决定哪个task在哪台Agent执行。
  4. 通过Mesos master通知相应的Agent去执行。

这里可以看出Mesos是一个两级调度系统。Mesos本身只对Framework做资源调度,然后由各个Framework根据自己的策略针对task进行资源调度。

Yarn资源调度简介

图 2

图2是Yarn的资源调度架构图。与Mesos类似由提供资源的NodeManager、负责调度资源的ResourceManager、使用资源的Application(图中的AppMaster)构成。

  1. NodeManager将自己的资源(CPU、内存等)报告给ResourceManager。
  2. Client向ResourceManager提交作业(相当于一个Application)。
  3. ResourceManager为Application启动一个AppMaster。
  4. AppMaster为Application向ResourceManager请求资源。
  5. ResourceManager根据调度策略为Application分配资源,并通知相应的NodeManager去执行task。

Yarn也可以说是一个两级调度系统,但是AppMaster只能向ResourceManager请求资源(同时可以设定一些条件),最终哪个NodeManager执行哪个task则是由ResourceManager决定。相比Mesos的Framework自己决定执行task的Agent,AppMaster的调度权限比较低。

Apache Myriad:集成Mesos&Yarn

基本思路:把Yarn当作Mesos上的一个Framework来使用。

图 3

如图3所示,ResourceManager中的YarnScheduler被MyriadScheduler取代了。MyriadScheduler继承YarnScheduler并实现了MesosFramework Scheduler接口。这样ResourceManager就能够接受Mesos master提供(offer)的资源,并且还具有原来Yarn Scheduler一样的功能。另外Myriad还实现了管理NodeManager的Executor。整个过程是:

  1. Agent 1(黄色文本框中S1) 报告资源给Mesos master。
  2. Mesos master按照策略提供资源(这里是Agent1的一半)给ResourceManager。
  3. ResourceManager接受Mesosmaster提供的资源,要求Mesos master在Agent1上启动NodeManager1(黄色文本框中NM1)。
  4. Agent1启动NodeManager1。
  5. NodeManager 1将自己的资源(来源于之前Mesosmaster的offer)报告给ResourceManager。

于是在Mesos集群上建立了一个Yarn集群,其资源来源于Mesosmaster的offer,也就是说Yarn被置于Mesos的管理之下。为了方便Yarn集群动态扩、缩容,Myriad还提供了相应的WebUI和WebAPI。通过这个方案,实现了Yarn集群和Mesos集群共享物理资源。

实例

图 4

图 5

图 6

如图4所示,我们在Mesos上启动了一个叫做“MyriadAlpha”的Myriad Framework,并拥有1个task(“4.4CPU,5.4G内存”),如图5可以从Myriad的WebUI上看到该task,其实该task对应了一个NodeManager。如图6(ResourceManager的WebUI)显示了该NodeManager所在的物理机以及向ResourceManager报告的资源(“4VCore,4G内存”,※配置了1CPU=1VCore)。Mesos和ResourceManager上显示的资源差是NodeManager本身使用的资源。

接下来我们利用Myriad的WebUI(也提供了WebAPI)对Yarn集群进行扩容。

图 7

如图7所示我们将增加2个NodeManager,每个NodeManager向Yarn集群提供“2CPU,2G内存”。

图 8

如图8显示增加了2个Task(对应于NodeManager)。

图 9

如图9 ResourceManager WebUI显示已有2个NodeManager加入集群,提供的资源均为“2VCore,2GB内存”。

图 10

最后如图10 Mesos WebUI上显示了启动的Task(也就是NodeManager)数和已分配的资源。

总结

通过Apache Myriad,Mesos可以统一地管理整个数据中心的物理资源,然后由ResourceManager从中获得资源建立Yarn集群并进行扩、缩容。这样本来运行于Yarn上面的应用如MapReduce、Tez、Hive等就能不加改变的运行(还是由Yarn来调度),但是它们使用的物理资源来源于Mesos。另外随着Yarn的Docker Container Executor(DCE) 项目的完成,将实现整个集群的容器化。

文中为了便于说明这个过程上面的例子是手动进行的,如果利用“Fine-grained Scaling”,Myriad可以根据执行作业需要的实际资源动态的对NodeManager进行扩、缩容(具体细节与上例有差别)。

作者介绍:郑辉,现PPTV研发中心架构师,专注于大数据、云计算,目前主要研究PPTV大数据平台与容器平台融合的相关技术。之前是日本一家互联网公司的Hadoop技术负责人,同时也参与Apache社区HDFS、Hive项目的开发工作。

原文链接:聚力传媒(PPTV)之大数据集群容器化研究

原文发布时间为:2016-10-01

本文作者:郑辉

原文标题:PPTV之大数据集群容器化研究

时间: 2024-10-07 19:59:42

PPTV之大数据集群容器化研究的相关文章

克服大数据集群的挑战

数据存储曾经是大数据的最大挑战.由于云计算基础设施的进步,存储数据不再是关键问题.如今,数据科学家所面临的最大问题是数据收集. 集群化使得大数据分析更容易.然而,集群也给数据工程师带来了必须解决的问题. 什么是数据集群? 数据集群的概念可追溯到至少20年前.美国俄亥俄州立大学计算机科学和工程系教授Anil Kumar Jain博士在他的白皮书之一中对这一术语进行了很好的描述: "集群是模式(观察,数据项或特征向量)到组(集群)的无监督分类.集群问题在许多领域和许多学科的研究人员那里都得到了解决;

DockOne微信分享(九十九):海航生态科技舆情大数据平台容器化改造

本文讲的是DockOne微信分享(九十九):海航生态科技舆情大数据平台容器化改造[编者的话]海航舆情监控系统能够为海航集团内部提供监控网络舆情信息,对负面信息.重大舆情及时预警,研判具体舆情或者某一舆情专题事件的发展变化趋势,生成图标报告和各种统计数据,提高舆情工作效率和辅助领导决策.然而,随着项目的持续运行,许多问题逐渐暴露出来,为了解决这些难题,对整个项目重新规划设计,迁移到Hadoop.Spark大数据平台,引进持续化Docker容器部署和发布,开发和运营效率得到显著提升. 一. 舆情平台

大数据集群部署与管理

一.大数据集群技术的概述 让我们从有趣的 "啤酒与尿布" 故事说起,在美国沃尔玛连锁超市,人们发现了一个特别有趣的现象:尿布与啤酒这两种风马牛不相及的商品居然摆在一起,但这一奇怪的举措居然使尿布和啤酒的销量大幅增加了.这并非一个笑话,而是一个真实案例. 原来,美国的妇女通常在家照顾孩子,所以她们经常会嘱咐丈夫在下班回家的路上为孩子买尿布,而丈夫在买尿布的同时又会顺手购买自己爱喝的啤酒.这个发现为商家带来了大量的利润,但是如何从浩如烟海却又杂乱无章的数据中,发现啤酒和尿布这个看似不相干的

海航生态科技舆情大数据平台容器化改造

文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构.应用容器化.架构迁移.持续发布与部署. 海航舆情监控系统能够为海航集团内部提供监控网络舆情信息,对负面信息.重大舆情及时预警,研判具体舆情或者某一舆情专题事件的发展变化趋势,生成图标报告和各种统计数据,提高舆情工作效率和辅助领导决策.然而,随着项目的持续运行,许多问题逐渐暴露出来,为了解决这些难题,对整个项目重新规划设计,迁移到Hadoop.Spark大数据平台,引进持续化Docker容器部署和发布,开发和运营效率得到显著提

大数据集群环境ambari支持集群管理监控,供应hadoop+hbase+zookeepe

Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应.管理和监控.Ambari目前已支持大多数Hadoop组件,包括HDFS.MapReduce.Hive.Pig. Hbase.Zookeper.Sqoop和Hcatalog等.   Apache Ambari 支持HDFS.MapReduce.Hive.Pig.Hbase.Zookeper.Sqoop和Hcatalog等的集中管理.也是5个顶级hadoop管理工具之一.   Ambari主要取得了以下成绩:

企业从虚拟化向容器化迁徙道路上的十大误区

过去的一年中,以Docker为代表的容器化技术成了最热门的云计算词汇,而从虚拟化向容器化过渡也成了一件非常时髦的事情,很多企业经不住诱惑纷纷试水Docker. 但是,随着市场炒作的喧嚣和迷雾渐去,企业的CTO和CIO们发现从虚拟化到容器化的迁徙道路上布满了坑洞.企业云计算技术的未来,也许不会是一边倒的格局,而是结合了类似VMware的可控性和Docker代表的自由.流动和协作趋势. 近日,StackEngine的首席执行官Bob Quillin在VB上撰文指出:企业容器化道路上存在十大误区: 误

大数据:容器加速 应用进发

大数据价值凸显的同时,数据应用则是价值的更近一步延伸.笔者看到,大数据向应用进发的趋势越来越明显.很多厂商对此有了明显动作.近日,BoCloud博云与TalkingData在北京联合发布DataCruiser高弹性大数据云平台,通过BoCloud云架构与TalkingData大数据分析平台的有机融合,可提供完整的应用容器和大数据计算相关的组件仓库和便捷的操作模式,帮助客户享受专业的平台保障服务. 大数据时代,银行,电力,运营商,物流公司各个海量数据拥有者正在寻求方法利用手中的数据产生价值,然而大

不看不知道,容器化OpenStack的10个好处

1.升级 这个其实大家都可以想到,容器最大的特点,就是升级.企业使用OpenStack,最大的一个顾虑,就是升级.尤其在OpenStack 1年两个版本下,不断的有新的功能的需求的情况下,如果不能升级,其实是很痛苦.尤其在企业的迅速发展的过程中. 容器化的OpenStack,升级有多么简单呢?其实就是删掉容器,换上新的容器,用户基本是无感知的状态下完成. 升级子所以很困难,有一个很现实的原因,线上环境,很难模拟,升级验证测试很难进行.当采用容器化以后,我们很容易模拟出一个线上环境,进行升级测试,

不看不知道,容器化 OpenStack 的10个好处

1.升级 这个其实大家都可以想到,容器最大的特点,就是升级.企业使用OpenStack,最大的一个顾虑,就是升级.尤其在OpenStack 1年两个版本下,不断的有新的功能的需求的情况下,如果不能升级,其实是很痛苦.尤其在企业的迅速发展的过程中. 容器化的OpenStack,升级有多么简单呢?其实就是删掉容器,换上新的容器,用户基本是无感知的状态下完成. 升级子所以很困难,有一个很现实的原因,线上环境,很难模拟,升级验证测试很难进行.当采用容器化以后,我们很容易模拟出一个线上环境,进行升级测试,