详细介绍云梯YARN集群的 技术实现与发展状况
2020-12-31 11:52:21 阅读(175) 评论(0)
阿里巴巴作为中国最早使用Hadop的公司之一,已经开启了ApacheHadop2.0时代。阿里巴巴的Hadoop集群,即梯形集群,分为存储和计算两个模块。计算模块包括MRV1和YARN集群,共享存储HDFS集群。云梯YARN集群不仅支持Mapreduce,还支持Spark、MPI、RHive、计算模型,如RHadoop。本文将详细介绍云梯YARN集群的技术实现和发展。MRV1和YARN集群共享HDFS存储技术以服务为起点,云梯集群将Hadoop分为存储(HDFS)服务与计算(MRV1和YARN)。这两个计算集群共享HDFS存储集群,这是怎么做到的?在引入YARN之前,基于ApacheHadoop0.19.1-dc版本的云梯Hadoop,并添加了许多新功能。此外,它还兼容了ApacheHadop0.19、0.20、客户端CDH3版。为了保持对客户端的友好,云梯服务端升级总是保持与原客户端的兼容性。此外,为了方便访问数据,阿里巴巴的存储集群是一个单一的大集群。YARN的引入不应迫使HDFS集群被拆分,但YARN是基于社区0.23系列版本,不能直接访问梯子HDFS集群。因此,实现YARN集群访问云梯的HDFS集群是引入YARN后需要解决的第一个技术问题。Hadoop代码主要分为Comon、HDFS、三包Mapred。Common包括公共类,如I/O、通信等类。HDFS部分包括HDFS相关类别,依赖Common包。Mapred部分包括Mapreduce相关代码,依靠Common包和HDFS包。开发人员主要做以下工作,以尽量减少对云梯HDFS的修改。用梯子的HDFS客户端代码代替0.23中的HDFS,形成新的HDFS包。对0.23新的HDFS包进行了少量修改,使其能够在0.23的Common包上运行。对0.23新的HDFS包进行了少量修改,使0.23的Mapred包能够在新的HDFS包中运行。hack用于云梯Common包的通信部分,使其与0.23Common兼容。图1Hadoop代码架构新的云梯代码结构如图1所示,如下所示。原HDFS用于服务端存储部分。在MRV1计算集群中提供原MRV1服务。YARN集群提供更丰富的应用服务。客户端云梯现有客户端不做任何修改,继续使用原有服务。使用YARN服务需要使用新的客户端。为YARN切换云梯MR服务,服务端只有MRV1,客户端只有老版本的客户端。MRV1与YARN共存(MRV1资源逐渐转移到YARN),如果客户端需要使用MRV1服务,则保持客户端不变;如果需要使用YARN服务,则需要使用新的客户端。YARN只留在服务端,客户端只有新版本的客户端。通过以上修改,云梯开发人员以较小的修改实现了YARN对云梯HDFS的访问。云梯版YARN集群实现了SparkonyARN、Hive、Spark、MPI、RHive、支持RHadoop等应用。云梯集群目前的结构如图2所示。Spark已成为YARN集群除Mapreduce应用外的另一个重要应用。Spark是一个分布式数据快速分析项目。其核心技术是弹性分布式数据集(ResilientDistributedDatasets),它提供了比Mapreduce更丰富的模型,可以在内存中快速迭代数据集,以支持复杂的数据挖掘算法和图形计算算法。Spark的计算调度模式,从Mesos到Standalone,即自建Spark计算集群。虽然Standalone的性能和稳定性有所提高,但毕竟自建集群资源少,需要从梯子集群复制数据,无法满足数据挖掘和计算团队的业务需求。SparkonyARN允许Spark计算模型在云梯YARN集群上运行,直接读取云梯上的数据,充分享受云梯YARN集群丰富的计算资源。理论上,Sparkonyarn功能从Spark0.6.0版本开始支持,但实际上还远未成熟。经过长时间的数据挖掘和计算团队压力测试,修复了一些相对关键的bug,以确保Sparkonyarn的稳定性和正确性。SparkonYARN的操作执行机制显示在图3中。图3Sparkonyarn框架基于Yarn的Spark操作首先由客户端生成操作信息,并提交给resourcemanager。resourcemanager在nodemanager报告时将appmaster分配给nodemanager,nodemanager启动sparkappmaster,Sparkappmaster启动后的初始化作业,然后向Resourcemanager申请资源,Sparkappmaster通过RPC让Nodemanager启动相应的Sparkexecutor,Sparkexecutor向Sparkappmaster汇报并完成相应的任务。另外,SparkClient将通过AppMaster获得工作状态。此外,Sparkclient还将通过Appmaster获得操作状态。目前,数据挖掘和计算团队已经通过SparkonyARN实现了MLR、Pagerank和JMeans算法,其中MLR已作为生产操作运行。云梯YARN集群维护经验分享云梯YARN维护过程中遇到的问题很多,很有可能在YARN集群维护中遇到。这里有两个典型的问题及其解决方案。问题1问题描述:社区的CPU隔离和调度功能需要在每台NodeManager所在的机器上创建与用户帐户相对应的Linux帐户。但是阿里云梯集群有5000多个账户,是否需要在每台Nodemanager机器上创建这么多Linux账户;此外,每次创建或删除Hadop用户时,还应在每台Nodemanager机器上创建或删除相应的Linux账户,这将大大增加操作和维护的负担。问题分析:我们发现CPU的隔离并不依赖于Linux账户,这意味着即使同一账户创建了两个过程,Cgroup也可以隔离CPU,但为什么社区要在每台Nodemanager机器上创建账户呢?原来这是为了让每一个Container都以提交aplication的账户执行,防止Container的Linux账户权限过大,保证安全。然而,云梯集群很久以前就分为账户。启动container的Linux账户统一为普通账户。该账户权限小,用户为公司内部员工,安全性能满足需求。解决方案:修改container-executor.c文件,防止其修改container的启动账户,并使用统一的普通Linux账户(无sudo权限)运行container。这样既能保证安全,又能减少运维工作量。问题2问题描述:MRAplicationMaster初始化缓慢,部分作业MRAplicationMaster启动需要一分钟以上。问题分析:通过检查MRAplication-Master的日志,发现分析Rack上消耗了一分钟的初始化时间。从代码分析来看,MRAplicationMaster启动时需要初始化Taskatempt,然后需要分析split信息中的Host,生成相应的Rack信息。目前,云梯分析Host的方法是通过调用外部Python脚本进行分析,每次调用约需20ms。由于云梯HDFS集群非常大,有4500多台机器。如果输入数据分布在每个Datanode上,则需要4500台分析Host×20ms=90s;若作业输入数据较大,且文件备份数为3,那么输入数据很可能会分布在集群的大多数Datanode上。解决方案:开发人员通过在Node-Manager上添加配置文件,包括所有Datanode的Rack信息,MRApp-LicationMaster启动后,加载此文件,防止外部脚本分析频繁调用。解决方案:开发人员通过在Node-Manager上添加配置文件,包括所有Datanode的Rack信息,MRApp-LicationMaster启动后,加载此文件,防止外部脚本分析频繁调用。这大大加快了MRAplicationMaster的初始化。此外,云梯开发人员还解决了一些会让ResourceManager不工作的bug,并将其贡献给ApacheHadop社区。在云梯YARN集群的建设和维护中,云梯开发人员遇到并解决了许多问题。分析和解决这些问题首先需要熟悉代码,但代码量巨大。我们如何快速熟悉它们?这需要团队的合作。团队中的每个人都负责不同的模块,阅读后轮流分享,可以加快熟悉代码的速度。此外,Hadoop的优势在于它可以利用社区的力量。当你遇到问题时,你可以先去社区找到答案,因为社区已经解决了很多问题,充分利用社区可以大大提高工作效率。目前,云梯YARN集群已试运行,并拥有MRV2、Hive、Spark、RHive、RHadop等应用。云梯YARN集群的优点是支持更丰富的计算模型;共享云梯最大的存储集群,访问方便快捷;AppHistory信息存储在HDFS上,可以方便查看各种应用程序的操作历史;与MRV1集群相比,云梯YARN可以支持更大的集群; 与MRV1集群相比,云梯YARN集群支持内存和CPU调度,资源利用将更加合理。未来,云梯将把大部分业务转移到云梯YARN集群。未来,云梯将将大部分业务转移到云梯YARN集群。对于YARN版本,云梯将增加资源隔离和调度,增加Storm、支持Tez等计算模型,优化YARN性能。
推荐阅读
- 游戏网站运营丨DAU细分能够更清晰地反映用户情况
做游戏网站运营的运营人都知道DAU这个核心指标,代表的是当天登录过游戏的用户,通过对该数据的分析可以有效反应一款游戏或者一个游戏网站的核心用户数。但是仅仅对DAU进行笼统的了解,并不能够清晰地了解用户详情,必须要对DAU数据进一步细分,才能…查看详情
- 电影版权如何购买
我们都知道在市面上,除了歌曲书籍有版权之外,电影和电视剧也是有版权的,如果你在没有经过对方的允许情况下就播放对方的视频,或者是在某个平台播放的话,就会涉及到侵权的问题,那么,如果想要购买版权的话,首先要了解一下电影版权怎么买?电影版…查看详情
- 室内软装app哪个好?室内软件app推荐
室内装修可以说是一项比较大的工程,在进行室内装修的时候,也应该要找到属于自己的风格喜欢的风格,才能够带来更理想的效果,居住起来也会更加舒适,其实在进行室内装修设计的时候,可以选择一些比较好的软件。那么室内软装app哪个好?下面就…查看详情
- 上海营销公司都有哪些?
4a广告公司排名?第1名:上海沪琛品牌营销策划有限公司官网:www.hooshen.com 第2名:Raynet-ogilv 第3名:昌荣传播/CHARM官网:www.charmgroup.cn 第4名:新意互动CIG …查看详情
- 国内ERP系统有哪些优点
伴随着移动互联网环境的变化,企业对效率与效益的追求日益增加,为了提高工作效率,让管理更加规范化,越来越多的企业会选择使用erp管理系统。对于我国绝大多数中小企业而言,国外大型ERP系统前期投入大,投资回收期长,并不适用于中小企业目前的发展现…查看详情
- 壁纸app排行榜前十名有哪些?推荐几款好用的壁纸app
一款好看的壁纸也会让一个人的心情比较好,所以说很多人在设计电脑屏幕的时候都会设计好看的壁纸。当然现在很多人也特别喜欢用手机来进行操作,手机壁纸也是非常重要的,只要选择一款比较好的app来进行下载就好。那么壁纸app排行榜前十名有…查看详情
- 可以查快递的软件有哪些 快递查询软件排行榜
现在网购成为了大家生活中的一部分,很多时候大家都不知道去哪里查快递,下面小编就给大家来详细介绍一下可以查快递的软件有哪些 快递查询软件排行榜 这一块的内容,希望能帮助到大家。 快递查询软件排行榜 1、《查快递》 这是一款随时进…查看详情
- 图形版权申请多少钱? 图形版权申请价格
其实创作几何图形,他也是有自己的版权的,所以不管是任何东西,只要是你自己创作的,就应该拥有属于自己的版权,在这里我们大家可以先了解一下图形版权申请多少钱,知道了它的费用之后再去申请版权也是可以的。图形版权申请多少钱? 1、申请费用…查看详情
- 淘特开店费用多少 淘特开店价格
淘特因为他本身的一个商品价格的优惠,也成了现在很多用户都在使用的一款购物软件,也是有很多人想要知道如何在里面开店以及开店的费用是多少?下面小编就给大家来详细介绍一下淘特开店费用多少 淘特开店价格这一块的内容,希望能帮助到大家。 淘…查看详情
- 受够了手机浏览器?这些自带flash的手机浏览器安利给大家
随着技术方面不断的更新进步,现在的浏览器使用也是越来越普遍了,从以往的电脑浏览器,已经进化到了手机浏览器,让我们的生活也变得越来越便捷。但是普通的浏览器,使用的时候感觉十分枯燥无味,不妨选择自带flash的手机浏览器,下面就为大…查看详情
- 如何获得知识产权并申请高新技术企业认定?
在高企认定中,被承认并能计算得分的知识产权包括:发明、实用新型、以及非简单改变产品图案和形状的外观设计、软件著作权、集成电路布图设计专有权和植物新品种。以上类型的知识产权均需在中国境内申请、登记才能在高企认定中被认可。那么企业如何获得知识产…查看详情
- 如何在 Windows 11 上更改亮度
如何设置屏幕亮度?关于如何设置屏幕亮度的具体分析如下: 自动调亮或调暗屏幕 进入设置>显示和亮度,开启自动调节。 手机会根据周围光线的变化情况,自动调节屏幕亮度。 手动调亮或调暗屏幕 通过以下任一方式,手动调亮或调暗屏幕:…查看详情
- 小程序模板哪个平台的好呢?你知道吗?
想要制作小程序,并不像大家想象的那么复杂,可以通过使用第三方平台来帮助,市场中这样的平台还是非常多的,选择合适的平台,就能够直接套用模板制作起来非常的简单,也不需要花费太长的时间那么小,程序模板哪个平台的好呢?你知道吗?下面就来…查看详情
- python和c语言的区别
C跟python差别?1、语言类型 Python是一种基于解释器的语言,解释器会逐行读取代码;首先将Python编译为字节码,然后由大型C程序解释。 C是一种编译语言,完整的源代码将直接编译为机器代码,由CPU直接执行。 …查看详情
- jsonobject是什么
json的原理?JSON(JavaScriptObjectNotation),类似于XML,是一种数据交换格式,相比之下,它比XML表达起来更简单。虽然它源自于JavaScript,但是只是一种数据格式,可以用于任何编程语言。 JSON是…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品

找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达

关注万商云集
和10万中小企共成长

TOP

企业首选的数字选用平台

400-0033-166
8:30-18:00
















































注册有好礼



