Hadoop是由ASF(Apache SoftwareFoundation)源于Lucene的子项目Nutch所开发的开源分布式计算平台,可以构建具有高容错性、可伸缩性、低成本、和良好扩展的高效分布式系统,允许用户将Hadoop部署在大量廉价硬件设备所组成的集群上,为应用程序提供一组稳定可靠的接口,充分利用集群的存储和计算能力,完成海量数据的处理。

由于Hadoop优势突出,得到了众多企业和个人的青睐,尤其是在互联网领域。Yahoo!通过Hadoop集群支持广告系统和Web搜索研究;Facebook借助Hadoop集群支持数据分析和机器学习;Baidu使用Hadoop进行搜索日志的分析和网页数据的挖掘;TaobaoHadoop系统用于存储并处理电子商务交易的相关数据;中国移动研究院基于Hadoop的“Big Cloud”系统用于对数据进行分析和对外提供服务等。

hadoop网盘开发项目 hadoop开源云计算平台_hadoop网盘开发项目

PS:Hadoop之父Doug Cutting解释Hadoop的得名:“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”

 Hadoop的技术背景——与Google云计算的渊源

说到Hadoop,不得不从云计算说起,主流互联网公司为了抢占云计算的市场份额,纷纷提出各自的云计算思路以及解决方案。Google、Yahoo、Amazon、Salesforce与Microsoft等公司作为行业领军者,它们的云计算平台解决方案的详情如下表所示:

表1-1 主流云计算平台详情

hadoop网盘开发项目 hadoop开源云计算平台_hadoop网盘开发项目_02

 

从上表可以看出Google和Yahoo云计算平台的关键技术非常相似,的确,Hadoop是Google云计算的开源实现。

hadoop网盘开发项目 hadoop开源云计算平台_hadoop网盘开发项目_03

作为一个开源项目,Hadoop受到最先由Google Lab开发的Google分布式文件系统GFS(Google File System)以及Google的Map/Reduce编程模式的启发,将 NDFS(Nutch Distributed File System)和Map/Reduce分别纳入Hadoop项目中,现已发展成包括Hadoop common、HDFS、MapReduce、HBase、Hive、ZooKeeper、Avro、Pig、Ambari、Sqoop等在内的多个子项目。

Hadoop CommonHadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如:配置文件和日志操作等。

HDFSHadoop分布式文件系统(Hadoop Distributed File System) ,前身是NDFS (Nutch Distributed File System)。类似Google File System。

MapReduce实现了MapReduce编程框架。

HBase: 基于HDFS,是一个开源的、基于列存储模型的分布式数据库。类似Google BigTable的分布式NoSQL列数据库。

Hive数据仓库工具,由Facebook贡献。使得存储在hadoop里面的海量数据的汇总,即席查询简单化。

Zookeeper分布式锁设施,一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。类似Google Chubby,由Facebook贡献。

Avro新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。

Pig大数据分析平台,为用户提供多种接口。

AmbariHadoop管理工具,可以快捷的监控、部署、管理集群。


Sqoop用于在Hadoop与传统的数据库间进行数据的传递。


Hadoop具有如下优势:(1)可伸缩性,能够处理PB级数据,并可以无限扩充存储和计算能力。(2)可靠性,可以维护同一份数据的多份副本并自动对失败的节点重新分布处理。(3)高效性,Hadoop能并行地处理数据。同时,Hadoop也是低成本的,因为它对硬件的要求不高,所以可以运行在普通的微机集群上。

Hadoop 从单一应用(Web数据抓取)发展到现在庞大的Hadoop生态系统(Hadoop Ecosystem),自成一派的技术架构体系,叩开了大数据时代的海量数据处理的大门,开辟了海量数据存储、处理与应用的新领地。

hadoop网盘开发项目 hadoop开源云计算平台_Hadoop_04

1.这一切,都起源自Web数据爆炸时代的来临

2.数据抓取系统—Nutch

3.海量数据怎么存,当然是用分布式文件系统- HDFS

4.数据怎么用呢?分析,处理

5.MapReduce框架,让你编写代码来实现对大数据的分析工作

6.非结构化数据(日志)收集处理- fuse,webdav, chukwa, flume,Scribe

7.数据导入到HDFS中,至此RDBSM也可以加入HDFS的狂欢了- Hiho, sqoop

8.MapReduce太麻烦,好吧,让你用熟悉的方式来操作Hadoop里的数据– Pig, Hive, Jaql

9.让你的数据可见- drilldown, Intellicus

10.用高级语言管理你的任务流– oozie, Cascading

11.Hadoop当然也有自己的监控管理工具– Hue, karmasphere, eclipseplugin, cacti, ganglia

12.数据序列化处理与任务调度– Avro, Zookeeper

13.更多构建在Hadoop上层的服务–Mahout, Elastic map Reduce


14.OLTP存储系统– Hbase