:::: MENU ::::

TalkingData's Blog

现在开始,用数据说话。

锐眼洞察 | Hadoop 3.0已经发布,未来还有哪些规划?(翻译)

Tech

锐眼洞察 | Hadoop 3.0已经发布,未来还有哪些规划?(翻译)

作者:Alex Woodie

原文:Hadoop 3.0 Ships, But What Does the Roadmap Reveal?

译者:TalkingData研发副总裁 闫志涛

本译文禁止商用,转载请注明来源与译者!

译者注:

大数据新技术近几年的飞速发展给Hadoop的发展带来了巨大挑战,不过Hadoop社区也在与时俱进的进行发展。等了几年,我们终于见到了Hadoop 3.0。在Hadoop 3.0当中,我们最期待的无疑就是Erasure Coding。考虑到存储的巨大代价,能够利用EC技术大幅度降低存储开销,无疑能够给大数据公司降低成本。3.0之后Hadoop还有哪些主要的特性呢?这篇文章就给出了答案,比如GPU的支持、FPGA的支持、S3 API兼容的KV存储等等。这些都很值得期待。

如承诺的那样,Apache软件基金会在今年结束前正式发布了Hadoop 3.0。现在Hadoop社区开始将注意力集中在3.1和3.2版本,这两个版本将会在2018年上半年带来更多非常棒的特性。

正如我们两周前所说的那样,Hadoop 3.0带来了两个重大的特性。这两个特性分别是支持EC(Erasure Coding),从而可以利用更有效的数据复制提高存储效率达到50%,以及YARN Federation,可以使得Hadoop集群的规模达到40,000个节点。

“Hadoop 3.0的发布体现了开源社区对于工业界的需求是非常负责任的”, Doug Cutting说。Doug Cutting是Apache Hadoop最初的联合缔造者同时也是Cloudera的首席架构师。“从11年前的原始的工具发展到今天的成熟的软件,这是个非常大的成就”,他在新闻发布会上说。“随着这个里程碑的发布,Hadoop在企业数据系统中作为日益重要的角色可以更好的满足企业的需求”。

但是在Hadoop 3.0中有些新的特性并不是为了马上给用户带来回报,而是为即将到来的3.1和3.2中提供更加引人注目的特性铺平了道路。Hortonworks的工程总监,同时也是Hadoop Apache项目的贡献者Vinod Kumar Vavilapalli认为。

“Hadoop 3.0实际上是一个构建模块,是一个基础,在3.1和3.1版本中将会有更加令人兴奋的事情发生”,他说。Vavilapalli最近给Datanami分享了一部分Hadoop的路线图,如下是这次对话中的一些亮点:

Hadoop 3.1

在3.1中将要支持的一个重要的针对3.0特性的改进,是YARN支持的资源类型。

在Hadoop 2.x时代,YARN仅仅能够识别两种资源:内存和CPU。随着在3.0资源类型的引入,社区已经能够为3.1版本中在Hadoop集群中支持GPU做好了准备。

在Hadoop中将GPU作为头等资源支持将让用户更容易运行亲GPU的工作,比如机器学习和深度学习,Vavilapalli说。

“这个想法是,YARN不需要人们为GPU任务设置独立的分区、独立的机器和独立的集群,YARN将GPU当作一等公民进行支持”, Vavilapalli说。“在YARN上我们已经解决了大量的sharding和多租户的问题。”

另外一个值得关注的特性是开发者们正在努力工作使得Hadoop 3.1的YARN支持Docker容器。Vavilapalli透露,Docker的YARN支持将会包含两个主要的能力,第一个是使得非大数据的任务可以运行在Hadoop上,例如一些容器化的应用。

r-Containers.png

在YARN上支持Docker将为Hadoop任务提供包隔离功能。这是在Hadoop上支持Docker之外的另一项努力。

“除了在YARN上运行MapReduce任务、Spark任务、Hive任务这些传统的大数据任务”,Hortonworks工程师说,“如果一个用户有一个在移动电脑上构建的容器应用,可以在YARN集群上指令,现在运行它的一百份、一千份拷贝,然后YARN就能够完成这些”。

Hadoop 3.1带来的第二个YARN支持Docker的优势是获得包的隔离。一个非常重要的应用场景是保证R和Python库能够在一起工作并且不会引起相互间的兼容性问题。”利用包隔离,你可以创建你自己的包含你的所有的R或者Python库的Docker容器,然后将它交给YARN,YARN就会像在你的便携电脑上运行一样去运行它们”。 Vavilapalli说。

Hadoop 3.1的另外一个主要的特性是被称为YARN Service的功能。利用这个新的特性,YARN将会具备管理在Hadoop上运行长时间的服务的能力,例如输入的Kafka数据流或者一个HBase服务任务。

“运行长时间的服务的目标是,你可以来到YARN指令‘给我在YARN上与其他正在运行的任务并列运行这个长时间任务’,就像运行Spark与Hive,”Vavilapalli说。“我们称之为YARN Service。所以YARN Service是一个我们正在研究的重要特性。”

Hadoop 3.2

Apache Hadoop社区计划利用3.0支持的新的资源类型在3.1支持GPU,如果一切按照计划进行,Hadoop 3.2将会支持FPGA。

altera-fpga.png

FPGA是一种自定义代码处理器

FPGA,或者叫做现场可编程门阵列,是一种为了加速某些特定类型的任务而设计的特殊处理器。Intel在2015年并购了FGPA厂商Altera,在FPGA技术上加大投入以加速高性能计算、AI、数据和视频分析,以及在Xeon集群上的5G处理器。IBM将FGPA加入到了它的Power服务器以提高图数据库的性能和可扩展性。

Hadoop用户拥抱FGPA有两个原因,Vavilapalli说,“一个原因是GPU比较昂贵,一些用户寻求把FPGA作为一个解决他们问题的廉价解决方案“,他说,“另外,有些问题只能用FPGA来解决,这两个原因驱动了YARN支持FPGA。”

Hadoop社区正投身于支持FPGA的工作, Vavilapalli说,也有可能这个特性会在3.1中包含。”现在并不十分确定它会包含在3.1还是3.2中,但是YARN很久就能够支持FPGA了”,他说。

Hadoop 3.2支持的另外一个重要的特性是叫做OZone的kv存储。OZone将会包含S3兼容的API存储,并且会针对不适合存储在HDFS上的小文件做优化。

-MW-3D-balls.png

臭氧(Ozone),或者说O3,避免地球受到有害的紫外线辐射。

HDFS最初的设计是存储相对大的文件,文件一次写入,多次读取。Vavilappalli说。“随着时间的推进,我们发现新的任务需要存储小的对象,它可能是一个照片或者视频。这些不是典型的Hadoop任务,因此需要存储大量的小对象,并且人们只能使用HDFS去存储它们。

OZone将更适合存储这类对象。存储容器将会提供一个与S3兼容的存储API。S3-Simple Storage Service由Amazon开发,是在全球数百个数据中心的百万台机器上存储ZB级别数据的存储。

随着AWS的兴起,S3 API变成了事实的存储标准。SaaS软件提供商将他们的客户数据存储在S3上,在云上运行Hadoop或者类似于Hadoop的任务去处理这些数据。 “社区正在努力的将它变得像S3 API,因为S3 API是所有kv存储的标准”,Vavilaplli说。 “它看起来像S3,但是使用在本地部署的Hadoop集群”。

虽然基于云的Hadoop任务比如Amazon EMR和Qubole,甚至Hadoop发行商Cloudera和Hortonworks的云产品都使用S3, OZone被设计为既可以在云端部署也可以在企业私有部署。

“云是今天的主流力量,但是我们最终会使用包含云和私有部署的混合结构”,Vavilapalli说。“为了使得应用可以无缝地在私有部署和云端运行,我们需要在私有部署拥有类似的能力,而OZone就是解决这个鸿沟的解决方案。让这些应用写kv API并且使得它既可以运行在私有部署,也可以运行在云端。这无疑是非常强大的创举并且未来用户将会非常愿意使用它。”

Hadoop 3.2将会在第二个季度末交付,尽管具体交付日期可能会调整,Vavilapalli说。Apache社区正在努力加速项目的发布进度,并且希望能够每三个月就发布一个主要的升级,他说。

Leave a comment

随时欢迎您 联系我们