以Hadoop为核心 在开源领域中,Hadoop可算是大名鼎鼎。Hadoop是由Apache软件基金会管理的一个项目,包含由谷歌驱动的、用于构建整合、组合和了解数据的平台的技术。 从技术上看,Hadoop由两项关键服务构成:采用Hadoop分布式文件系统(HDFS)的可靠数据 存储服务,以及利用一种叫做MapReduce技术的高性能并行数据处理服务。这两项服务的共同目标是,提供一个使对结构化和复杂数据的快速、可靠分析变 为现实的基础。在许多案例中,企业将Hadoop与老的IT系统部署在一起,从而能够以有力的新方式组合新旧数据集合。Hadoop让企业可以根据自有信 息和问题定制,更容易地分析和研究复杂数据。 Hadoop运行在商用独立的服务群集上。你可以随时添加或删除Hadoop群集中的服务器。Hadoop系统会检测和补偿任何服务器上出现的硬件或系统问题。换句话说,Hadoop是自愈系统。在出现系统变化或故障时,它仍可以运行大规模的高性能处理任务,并提供数据。 虽然Hadoop提供了数据存储和并行处理平台,但其真正的价值来自于这项技术的添加件、交叉集成和定制实现。为此,Hadoop还提供向这一平台增加功能性和新能力的子项目,具体如下: ■Hadoop Common:支持其他Hadoop子项目的通用工具。 ■Chukwa:管理大型分布式系统的数据采集系统。 ■HBase:支持大型表格结构化数据存储的可伸缩、分布式数据库。 ■HDFS:向应用数据提供高吞吐量访问的分布式文件系统。 ■Hive:提供数据汇总和随机查询的数据仓库基础设施。 ■MapReduce:用于对计算群集上的大型数据集合进行分布式处理的软件框架。 ■Pig:用于并行计算的高级数据流语言和执行框架。 ■ZooKeeper:用于分布式应用的高性能协调服务。 Hadoop平台的多数实现至少包括其中的一些子项目,因为这些子项目常常是利用“大数据”所不可或缺 的。例如,大多数机构会选择使用HDFS作为主分布式文件系统,选择可以保存几十亿行数据的HBase作为数据库。而使用MapReduce则几乎是肯定 的事情,因为其引擎赋予了Hadoop平台速度和灵活性。 利用MapReduce,开发人员可以开发跨处理器分布式群集或独立计算机的、并行处理海量非结构化数据的程序。MapReduce框架可以划分为两个功能区:其中Map具备将工作分配给分布式群集中不同节点的功能;Reduce则负责核对工作,将工作结果转化为单一值。 MapReduce的主要优势之一是容错性。MapReduce是通过监测群集中的每个节点来实现容错性的。每个节点定期向MapReduce报告和返回完成的工作与状态更新。如果某个节点的静默时间长度超出了预期值,主节点就会发出通知,并把工作重新分配给其他节点。 |