hadoop
Hadoop框架简介
Introduction to the hadoop framework
目录
CONTENTS
01
02
03
背景介绍
核心架构
扩展组件介绍
问题提出
21世纪初,NUTCH 遇到了严重的可扩展性问题—
—如何解决数十亿网页的存储和索引?
解决方案提出
2003~2004年,谷歌发表的两篇论文为该问题提供了可行的
解决方案。
——分布式文件系统GFS,可用于处理海量网页的存储
——分布式计算框架MapReduce,可用于处理海量网页的
索引计算问题。
后续发展
2008年,GFS和MapReduce从NUTCH脱离出来命名为Hadoop,
成为Apache顶级项目,迎来了它的快速发展期。
HDFS
分布式文件系统
MapReduc
e
分布式计算程序开发模型
HDFS集群主要两大模块组成:
1、NameNode: NameNode可以被认为是系统的主站。它维护所有系统中存在的文件和
目录的文件系统树和元数据 。负责执行文件系统的名字空间操作,比如打开、关闭、重
命名文件或目录。
2、DataNode : DataNodes作为从机,每台机器位于一个集群中,并提供实际的存储,负
责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除
和复制。
HDFS集群特性:
高容错性 适合大数据处理 高可靠性
HDFS读写数据流程:
Metadata
Blockdata
MapReduce的核心思想“分而治之”,其主要步骤是:
(1)Mapper:负责“分”,即把复杂的任务分解为若干个“简单的任务”来处理。
“简单的任务”包含三层含义:
一是数据或计算的规模相对原任务要大大缩小;
二是就近计算原则,即任务会分配到存放着所需数据的节点上进行计算;
三是这些小任务可以并行计算,彼此间几乎没有依赖关系。
(2)Reducer:负责对map阶段的结果进行汇总。
MapReduce的构成:
(1)JobTracker : 用来协调作业的运行。
(2)TaskTracker :用来处理作业划分后的任务。
MapReDuce数据处理流程: