服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

详细介绍云梯YARN集群的 技术实现与发展状况

2020-12-31 11:52:21 阅读(168 评论(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性能。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

2021年餐饮行业收银系统最新排名,前5名高性价比推荐

现如今,伴随着物联网的全民化,智能控制系统的经营模式慢慢变成了餐企的“标准配备”,也是餐饮业市场需求的优点因素。针对店家而言,提升工作效能能够产生高些的盈利,而一个功能齐全的软硬件结账结账收银产品的确能够协助商家安心许多 。可是今日,iph…查看详情

外呼系统app怎么选?这几款重点推荐

现在的网络比较发达,也有很多产品采用电话销售的方式来完成任务,如果是这样的销售模式,那么就不能缺少一款好用的外呼系统APP了,这样不仅可以省心省事,更能够很好的节约成本和人力的资源。但是要注意,在选择外呼系统APP的时候,也要全…查看详情

网络推广引流的使用价值:可免费或低成本方式获得巨大流量

网络推广引流无论是对公司还是个人来说,都是一个获得流量的好方式。公司可以是为品牌曝光、宣传产品、销售转化,个人可以是为自己带来曝光和粉丝。 图片来源于网络 在互联网时代,流量为王。网络推广引流的价值,就是可以通过免费或低成本的方式来获得流量…查看详情

图片去马赛克恢复原图软件有哪些?好用的马赛克去除软件

在找图片的时候有一些图片是具有马赛克的,这样就不能够看到原图,所以说很多人都想要去除,马赛克其实想要去除马赛克也并不是一件难的事情,只要选择了很好的修复软件就能够进行操作。那么图片去马赛克恢复原图软件有哪些呢?接下来就给大家来介…查看详情

电视APP哪个好?这几款还不错

不少人在平时休闲的时候,就会通过看电视打发时间,正是因为顺应人们的需求,所以市场中也有很多好用的看电视APP,为大家的生活带来很多的方便,也有不错的观看体验,那么到底电视APP哪个好呢?这几款还不错,下面就通过文章的介绍,一起来…查看详情

免费的pdf阅读器有哪些 阅读pdf最好的软件推荐

在日常学习和工作生活中,我们都会浏览到一些pdf命名的文件格式的文件,那么有哪些软件可以轻松阅读pdf呢?下面是我给大家总结的6款可以免费使用的pdf阅读器,小伙伴们可以继续往下浏览。1.弘博PDF阅读器它是一款可以自动智能识别pdf阅读文…查看详情

集团crm系统的刚需功能和拓展性功是什么?

集团crm系统是在基础的crm系统上延伸出来的扩展版,根据集团企业的管理难点和企业特点进行了相应的功能开发,能够满足企业的多位一体、多区域、多渠道、多维度的管理体系。集团crm系统是大型企业、跨国企业的优质选择。图片来源于网络目前国内的CR…查看详情

六大门店系统排行榜,一般门店系统都有哪些功能

对于商家来说,做好门店的管理工作并不简单,一套优秀的门店管理系统可以帮助商家解决许多问题,能帮助商家打开运营门店捷径,你知道门店系统一般具有哪些功能吗?本文整理了一份六大门店系统排行榜,覆盖以下5款主流系统,排名不分先后。 1.hishop…查看详情

免费学日语软件哪个好 轻松学日语app

  小伙伴们在学习日语的过程中,是不是除了课本的学习,不知道还有什么好用的学习网站和APP呢?下面万商云集小编就给大家整理了几款免费学日语软件。希望大家能喜欢。    一、最最日语  从五十音图开始,零基础学习日语。教材齐全,市面上有的教材…查看详情

足球直播APP有哪些?好用的足球直播APP介绍

很多人平时的时候都特别喜欢看足球。有些软件就可以进行足球直播,而且选择到了好的软件之后,还可以进行足球方面的交流,是非常方便的。那么足球直播APP有哪些?相信很多朋友们对这个问题也都比较感兴趣,都想要找到一款比较好的足球直播软件…查看详情

免费录歌软件哪款好?这些都是精品

唱歌是一件非常愉快的事情,还可以帮助大家转换心情,和减轻工作和生活的压力,尽情的释放各种不良的情绪,而现在有很多录歌的软件,可以让大家一展歌喉,那么下面就来了解吧。 1、酷我K歌 这款软件可以说是,集合了找歌还有练唱为一体…查看详情

如何选择优质的老域名

  随着互联网的发展和普及,越来越多的企业和个人开始意识到,拥有一个好的域名对于网站的成功和品牌形象至关重要。而老域名作为一种稀缺资源,也受到越来越多人的青睐。那么,如何选择优质的老域名呢?本文将从以下几个方面进行详细的分析。  一、域名的…查看详情

微信小程序制作费用

制作微信小程序的费用因多种因素而异,包括开发复杂度、功能需求和开发团队的价格等。以下是关于微信小程序制作费用的一些重要考虑因素:1. 开发团队:费用可能与你选择的开发团队相关。有些公司和自由职业者的收费标准较高,而其他人可能提供更经济实惠的…查看详情

  小程序运行内存不足怎么解决

  小程序内存不足解决方法?  1、手机内存空间已满。这种情况我们可以删除手机中的一些软件,或清理一下微信缓存,腾出更多的空间来,然后重新打开微信。  2、手机后台占用过多。关闭后台所有运行应用,重新打开微信小程序即可解决。  3、如果以上…查看详情

低成本适合女孩开的店

  近年来,随着小微企业的蓬勃发展,越来越多的女孩开始想要有一份属于自己的事业。然而,创业需要资金的支持,对于许多青年女性来说,资金匮乏的问题十分突出。因此,低成本适合女孩开的店,成为了这一群体的追求目标。本文将详细描述,适合女孩开的低成本…查看详情

最新文章