Hadoop介绍
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。下面列举hadoop主要的一些特点: 1 扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。2 成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3 高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4 可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
Hadoop主要子项目
Hadoop包含一系列相关的子项目,这些项目都隶属于Apache软件基金会(ASF)。ASF为这些开源社区项目提供支持。Hadoop里最著名的是MapReduce和分布式文件系统(HDFS),其他的子系统提供了一些附加功能,或者在core上增加了一些高级的抽象。
MapReduce: 分布式数据处理模式和执行行环境,运行于大型商用机集群。
HDFS: 前身是NDFS,分布式文件系统,运行于大型商用机集群。
Core: 一系列分布式文件系统和通用I/O的组件和接口(序列化、java RPC和持久化数据结构)。
Avro: 一种提供高效、跨语言RPC的数据序列系统,持久化数据存储。
Pig: 一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在MapReduce和HDFS的集群上。
Hbase: 一个分布式的,列存储数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询。
Zookeeper: 一个分布式的、高可用的协调服务。Zookeeper提供分布式锁之类的基本服务用于构建分布式应用。
Hive: 分布式数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言用以查询数据。
Chukwa: 分布式数据收集和分析系统,运行HDFS中存储数据的收集器,使用MapReduce来生成报告。
Hadoop大记事
2004年-- 最初的版本(现在称为HDFS和MapReduce)由Doug Cutting和Mike Cafarella开始实施。
2005年12月-- Nutch移植到新的框架,Hadoop在20个节点上稳定运行。2006年1月-- Doug Cutting加入雅虎。2006年2月-- Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。2006年2月-- 雅虎的网格计算团队采用Hadoop。2006年4月-- 标准排序(10 GB每个节点)在188个节点上运行47.9个小时。2006年5月-- 雅虎建立了一个300个节点的Hadoop研究集群。2006年5月-- 标准排序在500个节点上运行42个小时(硬件配置比4月的更好)。06年11月-- 研究集群增加到600个节点。06年12月-- 标准排序在20个节点上运行1.8个小时,100个节点3.3小时,500个节点5.2小时,900个节点7.8个小时。07年1月-- 研究集群到达900个节点。07年4月-- 研究集群达到两个1000个节点的集群。08年4月-- 赢得世界最快1 TB数据排序在900个节点上用时209秒。08年10月-- 研究集群每天装载10 TB的数据。09年3月-- 17个集群总共24 000台机器。09年4月-- 赢得每分钟排序,59秒内排序500 GB(在1400个节点上)和173分钟内排序100 TB数据(在3400个节点上)。