Hadoop的推出,简化大数据集进行分析的新方法,并在很短的时间重塑了大数据市场。事实上,今天的Hadoop往往是与术语大数据的代名词。
由于Hadoop是一个开源项目,许多供应商都开发了自己的发行,增加新的功能或改进的代码库。本文由Altoros大数据专家,提供了主要的分布的概况,说明他们从标准版的区别。
一个标准的开源Hadoop分布(Apache Hadoop)包括:
- 的Hadoop MapReduce并行运行计算的框架
- Hadoop分布式文件系统(HDFS)
- 常见的Hadoop通过其他的Hadoop模块所使用的一组库和工具的
这只是Hadoop组件的基本集;还有其他的解决方案——比如Apache Hive、Apache Pig和Apache Zookeeper等等——它们被广泛用于解决特定任务、加速计算、优化例程任务等。
供应商分布,当然,旨在克服的问题与开源版本,并为客户提供更多的价值,其重点的东西,如:
- 可靠性。厂商反应中检测到错误时更快。他们及时提供修补程序和补丁,这使得他们的解决方案更稳定。
- 支持。各种公司提供技术援助,这使得它能够采用关键任务和企业级任务的平台。
- 完整性。很多时候的Hadoop分布辅以其他工具来解决特定的任务。
此外,供应商参与在改进回馈更新的代码开源库,推动整个社会的发展标准的Hadoop发行版。
顶部的三个Hadoop的分布是由Cloudera的,MAPR和Hortonworks提供。下面的图表显示了市场调研的结果“2012-2017年大数据供应商收入及市场预测“。它比较这些主要的Hadoop厂商在2012年的收入。
图1.主要的Hadoop发行版在2012年的市场,$亿
虽然Cloudera的和Hortonworks声称他们是100%开源的,MAPR增加了一些专有组件到M3,M5,M7和Hadoop的分布,提高框架的稳定性和性能。
随着Cloudera的,MAPR和Hortonworks,Hadoop的分布可从IBM,英特尔,匹软件,等等。这些分布甚至可以组装为软件套件(例如,IBM公司的分布)的一部分,或经设计以解决特定的任务(例如,英特尔的分布至强微处理器优化)。
三个流行的Hadoop发行版的关键特性
在表中的单元格中的值是指在一个特定的Hadoop分配中可用的相应组件的版本。对于性能比较,我们看到Hadoop分布:Cloudera vs. Hortonworks vs. MapR研究。
Hadoop的2.0
即使是许多供应商的改进,Apache的Hadoop的1.0有以下问题:
- 只有一个NameNode,它管理整个集群。它处理所有的元数据操作,并将元数据存储在RAM中。由于可伸缩性限制为大约4,000个节点和40,000个任务,这个节点是单点故障。
- 在某些节点上更新Hadoop组件是不可能的。
- MapReduce范例只能应用于有限类型的任务。
- 没有其他的数据处理模型(除了MapReduce)。
- 集群的资源最有效的方式并没有利用。
虽然大多数发行版都是为了解决这些限制而开发的,但与开源版本相比,它们没有引入任何重大的体系结构更改。这就是2013年Hadoop 2.0出现时真正的突破。特别是,它的特色是一个新的集群管理系统YARN(也是一个资源谈判家),它将Hadoop从一个批处理数据处理解决方案转变为一个真正的多应用平台。更新后的版本消除了以下问题:
- 与单个的NameNode的系统的漏洞(单一故障点)
- 集群中可能的节点数量大大增加。
- YARN扩展了可以使用Hadoop来成功解决的任务数
下图说明了在2.0的Hadoop实现的多应用的原则,并表明,YARN实际上是HDFS与数据处理应用程序之间的层。
图2.体系结构比较:1.0的Hadoop与Hadoop的2.0。
资源:Hortonworks
纱线的主要思想是两大任务,资源管理和拆分调度分成两个不同的概念。纱线具有一个ResourceManager中央和ApplicationMaster,其针对每个应用创建单独。这种方法允许运行批处理,交互式,内存,流媒体,网络,图形和其他类型的应用程序同时进行。下面的图3和4表明在两个Hadoop的版本的结构差异。
图3.在Hadoop的1.0管理任务
Hadoop的1.0有一个单一的JobTracker,它不得不面对成千上万的TaskTracker和MapReduce任务。这种架构的限制可伸缩性选项,并启用集群上同时运行一个应用程序。
图4.在Hadoop的2.0管理任务
Hadoop的2.0具有单一的ResourceManager和多个ApplicationMasters。因为每个应用程序是由一个单独ApplicationMaster管理,它不再是在一个簇中的瓶颈。如声明从Hortonworks开发团队的笔记,他们能够“不显著问题现代硬件组成的模拟万个节点的集群。”从应用程序生命周期的集群管理任务的分离导致了很大的提高集群的可扩展性。
与此同时,与全球的ResourceManager,纱提供更好的资源利用率,这也增加了旋转起来集群。YARN允许运行的共享资源的公共池不同的应用程序。有没有预先定义的Map和Reduce插槽,这有助于更好地利用集群内的资源。
内运行Hadoop的非MapReduce任务的能力变成纱织成下一代的数据处理工具。Hadoop的2.0设有额外的编程模型,诸如图形处理和迭代建模,其扩展可以使用该工具来解决任务的范围内。
此外,我们期待在不久的将来看到纱线应用的快速增长。Apache Giraph(分析图表,例如Facebook上的社交关系),Spark(机器学习和数据挖掘),Apache HAMA(机器学习和图表算法),Storm(实时数据流)等调整在新的架构。
明天的Hadoop发行版
有几个趋势塑造的Hadoop分布的演变:
*纱采用。HADOOP 2.0支持更大的集群,这使得能够同时运行多个计算。它收到一个适合工作的范围更广,包括更灵活的数据处理和合并算法的支持一个新的集群管理系统。因此,Cloudera的和Hortonworks被积极采用它通过2013年由于MAPR使用的一些专有组件在其分布,它需要更多的时间。MAPR 2.0的支持纱线释放是计划2014年3月(但实际上在今年4月的4.0.0 Beta版中实现了)。虽然它仍然使用自己的文件系统而不是默认的HDFS,但看起来这家供应商可能已经转向更广泛地使用开源Hadoop代码,因为它现在提供了对不同开放Hadoop组件的更多支持。
*数据整合的第三方集成。Hadoop分发版与第三方解决方案集成,用于分析数据。例如,Cloudera增加了连接器用于绑定CDH (Cloudera的发行版包括Apache Hadoop)和数据分析和报告系统,如Oracle、Tableau、Teradata等。CDH支持Talend Open Studio for Big Data,这是一个易于使用的图形化环境,允许开发人员可视化地映射大数据源和目标,而不需要学习和编写复杂的代码。这个工具包含450多个连接器,用于从各种数据源获取数据。
*显着的性能提升。Cloudera公司最近宣布星火支持。与内存计算,该模型可以大大加快数据在某些情况下处理,高达100倍。Hortonworks还致力于提高计算速度。公司倡导刺,即旨在使Apache的蜂巢项目查询最多快100倍。它也致力于优化存储的数据以加速其处理。
MapR支持的Apache Drill项目旨在解决类似的问题。它是基于谷歌在白皮书中发表的模型。Dremel:网络规模数据集的交互分析“。然而,该项目是相当新的,可能还没有准备好进行生产部署。
关键的软件交付PivotalHD,一个Hadoop发行版,具有HAWQ,专有组件能够处理类似SQL的查询318x速度更快比蜂巢。不幸的是,没有独立的评估,可以证明这些结果。
如果你有兴趣在类似系统的第三方性能基准与大规模并行处理器架构,可以检查数字从AMPLab伯克利分校。
* 数据安全。显然,Hadoop的厂商将更加努力工作,以提高数据访问的安全性,限制权限,并解决更广泛的数据保护问题。
*为特定任务扩展功能。提供Hadoop发行版的公司总是希望添加模块,为框架引入新功能。例如,Cloudera的分布包括全文搜索和Impala,后者是一个使用SQL查询对存储在HDFS中的数据进行实时处理的引擎。Hortonworks在Stinger项目中增加了对SQL语义的支持,并正在开发Apache Tez,这是一种新的架构,通过消除不必要的任务和改进对HDFS的读写,有助于加速迭代任务。Wandisco提供跨数据中心复制2020欧洲杯预赛不间断的Hadoop技术。
结论
今天,Hadoop的不仅是大数据生态系统的一个组成部分,但其产生的新的开始于一组相关工具中的核心力量。虽然企业系统采用Hadoop的1.0仅限于特定类型的工作负载,情况会与换纱。
新的架构扩展了可以使用Hadoop来解决案件的范围。如果与风暴一起使用,例如,它会加速处理数据的无限流;与SPARK结合,将促进数据分析计划;与TEZ,这将使迭代算法的工作要快得多。
本文概述仅生态系统的发展趋势和不比较性能。它仍然是很难找到基于Hadoop的分布现实生活中的纱线集群的性能结果。详尽的数据可用于Hadoop的只有1.0:这里(已经与蜂巢更新HDP 2.0)和这里(Hortonworks与Cloudera的对比MAPR)。
原因很简单。至于Cloudera,新架构仍处于测试阶段;MapR计划在2014年3月发布其2.0版本。大多数其他供应商也在开发过程中。因此,比较运行中的Hadoop 1.0和2.0的性能,并找出这种差异如何影响构建在Hadoop发行版之上的整体集群,将是一件很有趣的事情。
Grigorchuk是Altoros R&d的董事,即致力于加速大数据项目和平台作为一种服务支持的公司。他是多个研究项目,大数据,分布式计算,数学建模,以及云技术的作者。
关于Altoros:Altoros是一家大数据和平台即服务专家,为IaaS/云提供商、软件公司和信息驱动企业提供系统集成。该公司在Hadoop、NoSQL、云铸造PaaS和多云部署自动化的交叉上构建解决方案。欲了解更多,请访问www.altoros.com或跟随@altoros。