初识Hadoop,hadoop


1.Hadoop 发展历史

1.1 Hadoop 产生背景

Hadoop 最早起源于Nutch。Nutch是一个开源的网络搜索引擎,始于2002年,Nutch的设计目标是构建一个大型的全网搜索引擎,包括抓取网页,索引,查询等,但是随着数据量的增加,遇到了扩展问题。直至2003年google发表了一篇关于google的文件系统GFS,该论文描述了google搜索引擎网页数据的存储架构,该架构解决了Nutch遇到的问题,随即实现了自己的分布式文件系统,即NDFS(此间google只是开源思想,但并未开源代码),到了2004年的google的另一篇论文MapReduce:simplified data processing on large cluster ,震惊世界,该论文描述了分布式计算的框架,但也只是开源思想,并不开源代码,Nutch的开发人员靠自己完成了实现,由于NDFS和MapReduce的成功,2006年Nutch的开发人员,随即将其移出Nutch,成为Lucene的子项目,称为Hadoop(据说是Doug Cutting儿子的玩具大象的名字),随着Hadoop的发展,2008年,Hadoop已经成为Apache基金会的顶级项目,也促生了Hadoop家族其他项目的发展。
1.2 Hadoop思想之源

Hadoop的思想主要来源于google,此间google的俩大论文GFS,MapReduce起了决定性的作用,而google的低成本之道(不使用超级计算机,不用存储;大量使用PC server,提供冗余的集群服务...)也是成功的根本。而google的成功也得益于Page Rank算法。



更加详尽有关Page Rank可以参考:http://blog.csdn.net/v_july_v/article/details/6142146

目前hadoop发展迅速,是实现云计算标准开源软件,已经可以在数千节点上面运行,处理数据量和速度有很可观的效果。同时,hadoop家族的项目也得到了相应的发展。


2 Hadoop的架构

2.1 Hadoop的俩大支柱:HDFS和MapReduce

其中HDFS用于大规模数据的分布式存储,而MapReduce则构建在HDFS之上,对数据进行分布式计算。

2.1 HDFS架构

HDFS是一个具有高容错性的分布式系统,适合部署在廉价的机器上,HDFS可以提供高吞吐量的数据访问,适合大数据集的应用,主要有client,NameNode,SecondaryNameNode,DataNode几个组件构成。


client:通过于NameNode于DataNode交互访问HDFS文件。

NameNode:HDFS的守护程序,是个“总管”,记录文件是如何分割成数据块的,以及这些数据块存储到哪些节点,对IO和内存进行集中管理,且是个单点。

SecondaryNameNode:监控HDFS状态的辅助后台程序,每个集群都有一个,与NameNode进行通讯,定期存储HDFS元数据快照,并且在NameNode故障的时候,提供备份作用。

DataNode:负责把HDFS数据块读写到本地文件系统,并将数据定期汇报给NameNode,DataNode以固定大小的block(默认64MB)为基本单位。

2.2 MapReduce 架构

同HDFS一样,MR也采用了Master/Slave模式,有以下组件:client,JobTracker,TaskTracker,Task.


JobTracker:负责资源监控和作业调度,运行主节点,对HDFS总控,决定哪些文件an参与处理,然后分割task并分配节点,重启失败的task等

TaskTracker:位于slave节点上,与datanode结合,管理各自节点上的task,与JobTracker交互(周期性的通过heartbeat将资源使用情况和任务进度汇报给jobtracker)。TaskTracker通过使用“slot”等量划分(划分方法用户自己决定)节点上的资源量,分为Mapslot 和Reduceslot来提供Map任务和Reduce任务的使用。

Task:Map Task和Reduce Task,有TaskTracker启动。

Map Task流程:Map Task先将对应的split(MapReduce处理单位)迭代解析成一个个的key/alue对,依次调用map函数进行处理,最终将临时结果存到本地磁盘中,其临时数据分成若干个partition,每个partition将被一个reduce task 处理。


reduce task流程:读取partition部分,对结果排序,依次读取<key,value list>,调用用户自己的reduce函数处理,结果存到HDFS上面。



参考书籍:Hadoop实战,Hadoop技术内幕 深入解析MapReduce架构设计与实现原理。

dataguru:http://www.dataguru.cn/forum.php



初识云计算,对于SaaS与Hadoop的问题

确实,云带了很多很多的概念,你需要搞清楚他们的关系,这样你才有可能正确的理解和利用;建议你浏览一下中国云计算网,你会慢慢的认识这些繁杂的概念。
 

推荐一本易读的云计算图书?

云计算-云计算图书《云计算:深刻改变未来》
本书由科学出版社2009年12月出版
ISBN:9787030261281
作者:张为民
定价:¥28.00

内容简介

本书概述了云计算的起源、发展以及商业模式,介绍了云计算的关键技术、典型应用以及开源软件和社区。
云计算既是机遇也是挑战,中国科技何去何从?需要从国家层面重视云计算,在教育、普及、重点研发、示范工程等诸多领域对其进行统筹规划,从而推动云计算在中国的发展,并最终使云计算造福百姓,惠及国民经济,推动科技创新与进步。
本书语言生动,案例丰富,适合所有想了解云计算的读者。

目录

第1章初识云计算
1?1Animoto的创业故事
1?2云计算就在我们身边
1?3风起“云”涌
1?4让我们走入云计算
第2章云计算的前世今生
2?1高高在上的大型计算机的时代
2?2合久必分:PC机时代的到来
2?3分久必合:Internet让PC机合在了一起
2?4合中有分,分中有合:云计算时代来临
2?5众说纷纭的云计算概念
2?6云计算的分类
2?7云计算的特点优势
2?8Google云计算成功的秘诀之一
第3章云计算的典型商业模式
3?1三种主流的云计算商业模式
3?2云计算商业模式的成功秘密
3?3云计算的优势
3?4云里乾坤,谁主沉浮?
3?5云计算的未来预测
第4章云计算关键技术
4?1云计算技术框架概述
4?2虚拟化技术
4?3海量分布式存储技术
4?4并行编程模式
4?5数据管理技术
4?6分布式资源管理技术
4?7云计算平台管理技术
4?8云计算是一种多粒度和变粒度计算
4?9绿色节能技术
第5章丰富多彩的云应用
5?1云计算让商业智能如虎添翼
5?2云计算助力IDC大展身手
5?3回归云计算的起源——丰富多样的搜索应用
第6章云计算与开源
6?1虚拟化平台软件Xen与KVM
6?2云基础设施管理平台Eucalyptus与OpenNebula
6?3分布式计算框架Hadoop
6?4云平台访问接口适配层libcloud与Dasein Cloud API
6?5开源精神
第7章从云到端
7?1Chrome
7?2FireFox
7?3IE 8
7?4Android
7?5iPhone
7?6OMS与Ophone
7?7云端精彩
第8章因云制宜云计算
8?1因云制宜
8?2尚无标准的云计算
8?3云中漫步安全吗?
8?4掣肘的并非是技术
8?5云观念的接受很容易吗?
8?6云计算在节省金钱方面的功绩有多大?
第9章云计算深刻改变未来
9?1云计算对于技术的影响
9?2云计算对各产业的影响
9?3面对云计算,中国科技何去何从?
第10章企业在云计算领域的实践与创新
10?1中国移动在云计算领域的实践和创新
10?2美地森科技在云存储和云计算IDC构建的实践和创新
10?3八百客在云计算领域的实践和创新
10?4友友新创在云计算领域的实践和创新
10?5世纪互联进行的中国IaaS服务的实践和创新
10?6播思在云计算存储及关键技术上的实践和创新
10?......余下全文>>
 

相关内容