没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论











摘要
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。用户可以在
不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行
高速运算和存储。Hadoop 实现了一个分布式文件系统,简称 HDFS。HDFS
有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量
来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS 放宽了
POSIX 的要求,可以以流的形式访问文件系统中的数据。Hadoop 的框架最核
心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,而
MapReduce 则为海量的数据提供了计算。
关键词:hadoop,MapReduce,云计算,hdfs
I

目录
II

一、前言
本课程设计要求学生学习 Hadoop 的基本概念如 MapReduce、HDFS 等,搭建
Hadoop 平台进行相应的设计,掌握在 LINUX 下常用命令,并掌握 Hadoop 的基本操作;
通过 MapReduce 编程,以哈姆雷特为研究对象,进行词频统计,统计单个或者多个文本
文件中每个词汇出现的次数;了解 Hadoop 分布式文件系统(HDFS)是 hadoop 上部署
的存储架构,熟练应用 Hadoop 对 HDFS 文件进行创建和读写等操作。通过本课程设计,
建立起对 Hadoop 云计算的初步了解,最后通过 Hadoop 平台实现结果的显示。
Hadoop 起源于 Apache Nutch 项目,始于 2002 年,是 Apache Lucene 的子项目
之一。2004 年,Google 在“操作系统设计与实现”( Operating System Design and
Implementation , OSDI ) 会议 上 公开 发 表 了题 为 MapReduce : Simpli&ed Data
Processing on Large Clusters(Mapreduce:简化大规模集群上的数据处理)的论文
之后,受到启发的 Doug Cutting 等人开始尝试实现 MapReduce 计算框架,并将它与
NDFS(Nutch Distributed File System)结合,用以支持 Nutch 引擎的主要算法。由
于 NDFS 和 MapReduce 在 Nutch 引擎中有着良好的应用,所以它们于 2006 年 2 月被
分离出 来 ,成为一 套完整而 独立的软 件,并被 命 名为 Hadoop。到 了 2008 年年 初,
hadoop 已成为 Apache 的顶级项目,包含众多子项目,被应用到包括 Yahoo 在内的很多
互联网公司。
Hadoop 由 许 多 元 素 构 成 。 其 最 底 部 是 Hadoop Distributed File
System(HDFS),它存储 Hadoop 集群中所有存储节点上的文件。HDFS 的上一层是
MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。通过对 Hadoop 分
布式计算平台最核心的分布式文件系统 HDFS、MapReduce 处理过程,以及数据仓库工
具 Hive 和分布式数据库 Hbase 的介绍,基本涵盖了 Hadoop 分布式平台的所有技术核心。
1

二、基本原理
(一)、hadoop
Hadoop 由两部分组成,一是负责存储与管理文件的分布式文件系统 HDFS、二是负
责处理与计算的 MapReduce 的计算框架。
(二)、hdfs
1、namenode
负责管理工作(管理文件系统的目录结构,元数据信息,响应用户请求)
包含了两个核心的数据结构,FsImage 和 EditLog。
FsImage:用于维护整个文件系统数以及文件树中所有的文件和文件夹的元数据
EditLog:记录了所有针对文件的创建,删除,重命名等操作
2、Seconday NameNode
为主 namenode 内存中的文件系统元数据,创建检查点,在文件系统中设置一个检查点
来帮助 NameNode 更好的工作,不是取代掉 NameNode,也不是备份 SecondayName
有两个作用
一是镜像备份,二是日志与镜像的定期合并。两个同时进行称为 checkpoint。
镜像备份的作用:备份 fsImage
合并作用:防止如果 NameNode 节点故障,namenode 下次启动时,会把 fsImage 加
载到内存中,应用 editLog,EditLog 往往很大,可以减少重启时间,同时保证 HDFS 系统的完
整性。
3、datanode
以块的形式进行存储数据。
(三)、MapReduce
1、MapReduce 概念
将复杂运行与大规模集群上的并行运算的过程高度抽象到两个函数:map 和 reduce
采用"分而治之"策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多
独立分片,这些可以被多个 map 任务执行。
2

map(映射):将小数据集解析成一批<key,value>
reduce(递归):将所有相同 Key 的 value 合并起来
2、MapReduce 的结构体系
图 2.3.1
三、系统分析
(一)、HDFS-文件存储结构
1、读数据
Client -> NameNode
Client -> DataNode
3
剩余31页未读,继续阅读
资源评论


DerMond33
- 粉丝: 11
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
