在大数据时代,Hadoop分布式处理架构为IT、数据管理以及数据分析团队带来了新生机的同时,也带来了新的挑战。随着Hadoop生态系统的不断发展壮大,企业需要对快速更新换代的技术做好充足的准备。
上周,Apache软件基金会刚刚宣布了Hadoop2.0的正式GA,新版本的Hadoop将带来大量变化。以HDFS和基于Java的MapReduce为核心组件,Hadoop的早期采用者都在使用它应对海量数据处理,包括结构化与非结构化数据,从日志文件到文本数据,再从传感器数据再到社交媒体数据不一而足。
Hadoop1.0向2.0的转变
Hadoop通常以集群的方式运行在廉价服务器上,因此可以有效控制海量数据处理和存储的成本。Ventana研究机构的副总裁TonyCosentino表示,Hadoop采取了轻架构的数据处理方式,因此它能够对新型数据源进行充分利用,这是传统关系型数据库架构所不能比拟的。
但Cosentino认为,目前的Hadoop架构也受到了批处理模式的限制,可以把它比作是一辆重型卡车,在性能方面存在较大瓶颈。Hadoop不适合有低延迟需求的应用,它更适合干重活,即海量数据处理。
Hadoop适合分析海量非结构化数据集,它通常是上TB甚至PB的数量级。ScaleOutSoftware的CEOWilliamBain表示,由于Hadoop批处理的天性以及大开销所限,它并不适合进行数据集的实时分析。但将Hadoop2.0与其他厂商所添加的新查询引擎结合,这个问题也将得到有效的解决。
数据仓库之门向Hadoop开启
ImpetusTechnologies的首席架构师SanjaySharma表示,数据仓库应用同样涉及到海量数据处理,因此它是天生的Hadoop目标应用。那么多大的数据比较合适?Sharma认为10TB左右是Hadoop的理想数据量,如果数据集组成非常复杂,那么这个数量还会有所下降。
像汽车导购类信息提供商Edmunds.com这样的用户,都部署了Hadoop以及相关技术来代替传统的数据仓库。大多数企业的Hadoop集群往往被视为数据进入组织的一个缓冲区域,数据由MapReduce来进行“过滤”,转换成为传统的关系型数据,然后再导入到数据仓库或者数据集市来进行分析。这种方式还提供了一定的灵活性,原始数据可以放在Hadoop系统中,需要进行分析的时候在用ETL进行处理。
Sharma把这种部署方式称为“数据下游处理”,而另外一家研究机构的总裁ColinWhite则用更准确的方式进行了总结,即“业务炼油厂”。在今年发布的一项调查报告中,Gartner分析师MarkBeyer和TedFriedman指出,使用Hadoop收集数据并为数据仓库中分析数据做准备,这是目前最主流的大数据分析应用实践。而在272个参与调查的用户当中,有超过一半的用户表示他们计划在未来12个月进行这一工作。
从诞生伊始,Hadoop就吸引了无数软件开发者在其基础之上创建新的工具,来弥补自身所存在的诸多不足。比如HBase(分布式数据库),Hive(基于SQL的数据仓库),Pig(MapReduce中开发数据分析程序的高级语言)等。其他的一些支持项目现在也成为了Apache项目的一部分,比如Hadoop集群调配管理和监控工具Ambari,NoSQL数据库Cassandra以及针对大型分布式系统的可靠协调系统ZooKeeper等。
YARN为Hadoop2.0带来新活力
Hadoop2.0目前已经统一称为Hadoop2,它已经进入越来越多人的视野当中。其中最重要的一部分就是YARN(YetAnotherResourceNegotiator),这个更新的资源管理器能够让非MapReduce开发的应用运行在HDFS上。通过这种方式,YARN旨在解除Hadoop的批处理限制,同时提供与现有应用结构的向下兼容。
Cosentino表示,YARN是Hadoop2.0的最重要发展,它能够让多种工作负载并发运行。Yahoo就是一个很好的例子,他们在YARN上部署了Storm复杂事件处理软件,用来辅助把网站用户行为数据过滤到Hadoop集群当中。
Hadoop2还提供了在高可用方面的改进,新的特性能够帮助用户在HDFS上创建一个联邦命名节点架构,而无需依靠一个单一的节点来控制整个集群。此外,它还添加了对Windows平台的支持,配合大型厂商定制开发的各种实用工具,Hadoop在企业级层面上的应用将被看好。