Hadoop生态体系各组件与Yarn的兼容性怎样?
副问题[/!--empirenews.page--]
9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维!
作为Hadoop 2.0中呈现的资源打点体系,Yarn总体上如故是master/slave布局,在整个资源打点框架中,resourcemanager为master,nodemanager是slave。作为Hadoop生态体系的一部门,Yarn要想得到市场承认,必需学会与Hadoop生他体系中其他组件兼容。本文作为《Hadoop从入门到能干》大型专题的第二章第三节,首要先容了Yarn怎样与Hadoop生态体系中其他组件共同,这也是本专题有关Yarn观念的最后一节,假如你想相识更多关于Yarn的详细信息,可以会见本专题的其他文章,详见文末。 2.3 Yarn应用措施 跟着时刻的推移,我们已经看到了Yarn生态体系的快速增添。现在,我们糊口在大都据中心运行多个差异体系的天下,如图2.13所示。全部体系都有其存在的代价,但对体系打点员和架构师带来了亘古未有的挑衅,他们必要支持这些体系并担保它们正常运转,体系之间的数据互换本钱昂贵且伟大,每个体系都必需办理沟通的漫衍式题目,譬喻容错、漫衍式存储、日记处理赏罚以及资源调治等。 ![]() 图2.13 既然身在Hadoop生态之中,Yarn团队也为其融入整个生态和企业技能架构做出了许多全力,Yarn今朝已经可以和多类组件或应用实现兼容。好比,Hoya的呈现让HBase可以运行在Yarn之上,可机动得将数据移入和移出, Hoya与Yarn集成也可以提供弹性按需计较,在单个Yarn集群可运行多个HBase集群。 2.3.1 NoSQL 对付NoSQL的观念,此处就不在赘述了,简而言之,这是不遵循ACID原则的及时CRUD操纵体系。NoSQL的呈现是为了办理单片OLAP体系的弱点,由于其阻碍了体系架构扩展和提供相应处事的手段。固然存在许多NoSQL体系,但没有任何一个体系与Hadoop的集成比HBase更多。在Yarn呈现之前,HBase的方针是行使HDFS举办存储,并从与MapReduce的细麋集成中受益,批量处理赏罚成果的插手让其得以逾越竞争敌手。可是,Yarn为HBase办理了两大挑衅,一是HBase和MapReduce共存于集群上带来的资源打点方面的挑衅,由于没有简朴的要领来担保两个体系的SLA,Yarn操作Linux中cgroups提供的并发执行历程,担保会见所需资源。二是Yarn让HBase可以或许在统一个Hadoop集群上运行多个HBase集群,这就是上文提到的Hoya项目。 2.3.2 SQL on Hadoop SQL on Hadoop无疑是今朝的热点研究偏向。在Hadoop上也可运行SQL,好比启动Hive shell,输入查询并守候几分钟之后,或者就可以获得功效,但这对付数据科学家可能说明师快速探测和试验数据来说,不是一个有利的情形。Cloudera的办理方案是建设Impala项目,该项目完全绕过MapReduce,并通过集群中的每个从节点运行保卫历程。为了辅佐Yarn集群实现多租户,Cloudera开拓了Llama,旨在让Yarn相识Impala保卫历程正在操作的集群资源。Hortonworks的计策是专注于对Hive举办改造,并在使Hive更具互动性方面迈出重要的一步,其团队将这些改造团结在了一个名为Stinger(http://hortonworks.com/labs/stinger/)的项目中,最重要的变革涉及绕过MapReduce并行使Tez(一个Yarn DAG处理赏罚框架)来执行事变。 Apache Drill是另一个SQL-on-Hadoop办理方案,它理睬可以或许处理赏罚很多耐久性存储题目,譬喻Cassandra和MongoDB(https://issues.apache.org/jira/browse/DRILL-142)。Facebook Presto也在SQL-on-Hadoop阵营,但其不像Spark那样默认支持Yarn,Spark与Yarn兼容性很好, 只必要简朴设置就可启动剧本,集群情形就可在Yarn上运行Spark使命。Presto则必要借助于slider,通过slider实现Prestoon Yarn。 2.3.3 图形处理赏罚 当代图形处理赏罚体系应承漫衍式图形算法针对包括数十亿个节点和数万亿个边沿的大局限图像执行。行使传统MapReduce图形操纵必要在每次迭代时将整个图形数据布局序列化到磁盘并从磁盘序列化,整个进程繁琐而贫困。Apache Giraph是一个风行的图形处理赏罚项目,自版本1及更早版本以来一向致力于Hadoop,而且提交者还更新了Giraph,以便作为本机Yarn应用措施运行,Apache Hama在Yarn上也有一些图形处理赏罚成果。 2.3.4 及时数据处理赏罚 及时数据处理赏罚体系是处理赏罚无穷数据流的计较体系。这些体系的成果相同于MapReduce,由于应承处理赏罚诸如过滤、投影、毗连和聚合等操纵。这些体系的典范用途是处理赏罚体系中产生的及事势件,执行聚合,然后将功效推送到NoSQL以供其他体系检索。今朝较量常用的几大及时数据处理赏罚体系有Apache Storm、Spark Streaming等,在Spark Streaming风行之前,Storm险些统治了整个流式计较江湖,其最初由Nathan Marz构建,为了将Storm带到Yarn,雅虎建设了一个名为Storm-Yarn的项目,其不只可以让多个Storm集群在Yarn上运行,并且可觉得Storm集群提供弹性,辅佐其快速设置特殊资源。有关该项目标更多具体信息,请会见https://github.com/yahoo/storm-yarn。 Spark Streaming作为Spark API的扩展而开拓,支持斲丧数据源,好比HDFS,Kafka,Flume等。Yarn也支持Spark,而且假如把握了Spark,你会很轻易知道怎样用Spark Streaming,反之亦然,这意味着可以行使单一编程典型举办离线和及时数据说明。其他与Yarn集成的及时数据处理赏罚体系尚有Apache S4,Apache Samza(来自LinkedIn)和DataTorrent。 2.3.5 批量处理赏罚 批量同步并行(BSP)是一种漫衍式处理赏罚要领,多个并行事变者独立处理赏罚整个题目的子集,然后互相互换数据,行使全局同步机制守候全部事变者在一再该进程之前完成,Apache Giraph行使相同的BSP模子举办图形迭代,Apache Hama则是一个可以在Yarn上运行的通用BSP实现,具有内置图形处理赏罚成果。 2.3.6 MPI MPI(动静转达接口)是一种应承在主机集群上互换动静的机制,Open MPI是一个开源MPI实现。今朝有一个开源项目可以完成将Open MPI支持集成到Hadoop中的事变(https://issues.apache.org/jira/browse/MAPREDUCE-2911),完成此项集成事变的项目是mpich2-Yarn(详情可会见:https://github.com/alibaba/mpich2-yarn)。 2.3.7内存计较 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |