管理大数据之初探Hadoop发行版

中国IDC圈2月22日报道:Hadoop是一项开源技术,它是当今与大数据应用最为息息相关的数据管理平台。该分布式处理框架主要由Yahoo创建于2006年,部分是基于由Google在一些技术论文中所阐述的思想;很快,诸如Facebook,Linkedln以及Twitter之类的互联网公司采用该技术并开始对其发展贡献力量。在过去几年,Hadoop已经演变成一种有着基础设施组件和相关工具的复杂生态系统,而且它被各家供应商打包在一起成为商业Hadoop发行版本。

对于高级分析活动来说,在集群服务器上运行的Hadoop为建立一个高性能,低成本的大数据管理架构提供了途径。随着人们逐渐意识到其能力的提升,Hadoop的应用蔓延到了其他行业,包括对混合有传统结构化数据和新型非结构以及半结构化数据的应用程序的报告和分析。这包括网络点击流数据,在线广告信息,社交媒体数据,医疗记录,以及来自制造设备的传感器数据和源自互联网设备的数据。

Hadoop为何物

Hadoop框架包含了大量开源软件组件,这些组件拥有用于计算,处理,管理和分析大量数据的核心模型,而这些数据则由各种各样的支撑技术所包围。这些核心组件包括: Hadoop Distributed File System(HDFS Hadoop分布式文件系统),它支持传统的分级目录和文件系统,而他们则是将文件分布于Hadoop集群中的存储节点上(例如:DataNodes数据节点)。

MapReduce是可以对批量应用程序进行并行处理的编程模型和执行框架。

YARN(这是对Yet Another Resource Negotiator的简称)负责管理任务调度,为运行中的应用程序分配集群资源,并在可用资源出现争用时进行仲裁。它同时还对正在处理中任务的进展进行追踪和监控。

Hadoop Common是由不同组件使用的一组库和工具。

在Hadoop集群中,那些核心部分和其他软件模型是分层于计算和数据存储硬件节点集合之上的。这些节点通过高速内网连接以形成高性能并行分布式处理系统。

作为一个开源技术的集合,Hadoop并不受控于任何一个单独的供应商;相反的是,它的开发是由Apache Software Foundation进行管理的。Apache为用户提供Hadoop使用许可,基本上可以让用户免费,无版税的使用该软件。开发人员可以直接从Apache的网站下载并自行构建Hadoop环境。但是,Hadoop供应商提供带有基本功能的预构建社区版本,该版本同样是免费下载并能在各种硬件平台上进行安装的。同时还有市场商业版和企业版——Hadoop发行版根据维护和支持服务的不同等级来打包软件。

在某些情况下,供应商也会基于Apache的技术提供性能和功能方面的增强——例如,通过提供附加的软件工具来简化集群配置和管理,或是与外部平台的数据整合。这些商业产品让各种规模的公司对Hadoop的接纳度越来越高。这是非常有价值的,尤其是当商业公司供应商的支持服务团队可以启动一家公司Hadoop基础设施的设计和开发,并且能够引导工具的选择和高级功能的集成以快速部署高性能分析解决方案来满足新兴业务需求的时候。

典型Hadoop软件栈组件

当你拿到一份商业版本的Hadoop时,你能从中真正获得什么呢?除了核心组件,典型的Hadoop发布版本会包含(但不限于)以下内容:

诸如Tez和Spark之类的替代数据处理和应用程序执行管理器,它们可以在YARN之上运行或是与YARN并行以提供集群管理;缓存数据管理;以及其他改善处理性能的方法。

Apache HBase是一款列式数据库管理系统,它模仿的是运行在HDFS之上Google的Big Table项目。

诸如Hive,Impala,Stinger,Drill以及Spark SQL之类的SQL-on-Hadoop工具,这些工具为直接查询存储在HDFS中的数据提供了与SQL标准不同程度的兼容性。 诸如Pig之类的开发工具可以帮助开发人员构建MapReduce项目。

诸如ZooKeeper或是Ambari之类的配置管理工具可以用来进行监控和管理。

诸如Mahout之类的分析环境可以为机器学习,数据挖掘和预测分析提供分析模型。

由于该软件是开源的,因此对于Hadoop发行版你无需付费。相反的是,供应商则售卖有不同水平服务协议(SLAs)的年度支持订阅版本。虽然每家供应商都会对自家的附加组件进行提升,如此一来也作为Hadoop发布版的一部分为Hadoop社区做出了贡献,所有的供应商都会积极参与到Apache Hadoop社区中来。

谁在管理Hadoop大数据管理环境

在Hadoop系统之外获得所需性能需要一个熟悉IT专业的协调团队,该团队致力于架构计划,设计,开发,测试,部署,运行中操作和维护方面的工作以确保最佳性能,而意识到这一点是非常重要的。这样的IT团队通常会要求: