本文是我学习Hadoop搭建过程中的各种笔记,内容来自于各种公开的教程,起点非常低,从Linux基础开始,直至在PC上搭建Hadoop成功,是真正的从零开始。
感谢过程中帮助我的各位认识的和不认识的老师。
29、Hadoop的简单介绍:
Apache Hadoop 官网地址:http://hadoop.apache.org
1.Hadoop是什么?
Apache Hadoop平台是一个可靠的、可扩展的、可分布式计算的开源软件。
平台是一个框架,允许使用简单的编程模型。
在计算机集群(集群:多台机子链接在一起)中对大型数据集进行分布式处理。
该平台被设计成可以从单个服务器扩展到数千台服务器,每个服务器都可以提供本地计算和存储
该平台也被设计成可检测和处理应用层的故障(即高可靠、高容错)高可用服务是基于计算机集群的,集群的每一台机子都可能失败,Hadoop本身就被设计成能够探测和处理失败 ,而不是应用硬件来支持高可用的
2.Hadoop产生背景?
数据时代,Googel
Googel:
GES:数据存储
MAP-REDUCE:数据分析
BIG-TABLE:非规则的数据存储
只提供学术文章,闭源→Hadoop发展
Googel发展遇到的问题:
大量网页怎么存储(gfs)? [gfs:谷歌的文件系统]
搜索算法?
Page-Rank(网页排名)计算问题?
3.Hadoop发展历史?
(谷歌闭源,海量数据处理)
Apache Lucene : 开源的高性能全文检索工具
Apache Nutch:开源的Web搜索引擎
Google三大论文: GES/ MapReduce/ BigTable
Apache Hadoop: 大规模数据处理
Doug Cutting开创的开源软件,用java书写代码
从Lucene 到 nutch ,从nutch 到Hadoop
2003—2004年Google公布了部分 GES和MapReduce思想细节,以此为基础,Doug Cutting等人实现了DFS和MapReduce机制,使Nutch性能飙升
4.Hadoop的应用?
核心思想:再好一台的机子,也抵不过成千上万台机子在一起
pc<work station(工作站)<小型机<巨型机<成千上万台机子的集群
Hadoop1.0 、2.0 生态系统(3.0 是α版本,用于测试阶段,不能用于生产):
Hadoop1.0:MapReduce 即处理数据又管理资源
Hadoop2.0:YARN全局资源的管理者以及任务的调度者
YARN:全局资源管理
HDFS:可以想象成电脑的磁盘,只不过它是基于磁盘之上的系统
MR:批量处理
PIG:数据流
大数据处理业务应用:
银行,运营商流量,收视率,播放器推荐,金融,交通摄像头,工业传感器……
Apache Hadoop版本演化: