《云计算与大数据》-第9章分布式文件系统及并行计算框架_第1页
《云计算与大数据》-第9章分布式文件系统及并行计算框架_第2页
《云计算与大数据》-第9章分布式文件系统及并行计算框架_第3页
《云计算与大数据》-第9章分布式文件系统及并行计算框架_第4页
《云计算与大数据》-第9章分布式文件系统及并行计算框架_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

9.1分布式文件系统HDFS9.2并行计算框架MapRed

uce1《云计算与大数据》第二版课件重点

HDFS

结构及文件访问难点

MapReduce原理机

架2

写客户端39.1.1

HDFS的结构及文件访问1、HDFS

架构NameNode复

制元数据操

作DataNode数据块操作DataNod9.1分布式文件系统HDFS客户端读《云计算与大数据》第二版课件NameNode

管理者文件系统的Namespace

它通过Namespace

镜像文件(Namespace

Image)

和操作日志文件(Edit

Log)管理文件系统树

(FileSystemtree)

以及文件树中所有的文件和文件夹的元数据

(Metadata)

。Namenode

记录着每个文件中各个块所在的数据节点的位置信息,但是它并不持久化存储这些信息,因为这些信息会在系统启动时从数据节点重建。《云计算与大数据》第二版课件DataNode

是文件系统的工作节点,它们根据客户端或者是NameNode

的调度来存储和检索数据,并且定期向Namenode

发送它们所存储的块(block)的列表。集群中的每个服务器都运行一个DataNode

后台程序,这个后台程序负责把HDFS

数据块读写到本地的文件系统。《云计算与大数据》第二版课件HDFS

的基本文件访问过程:1)用户的应用程序通过HDFS的客户端程序将文件名发送至NameNode。2)NameNode

接收到文件名之后,在HDFS

目录中检索文件名对应的数据块,再根据数据块信息找到保存数据块的DataNode

地址,将这些地址回送给客户端。3)客户端接收到这些DataNode

地址之后,与这些DataNode

并行地进行数据传输操作,同时将操作结果的相关日志提交到NameNode。《云计算与大数据》第二版课件2、相关概念1)数据块Block为了提高硬盘的效率,文件系统中最小的数据读写单位不是字节,而是一个更大的概念——数据块。HDFS数据

块的默认大小是64MB,

而且在不少实际部署中,

HDFS的数据块甚至会被设置成128MB

甚至更多。《云计算与大数据》第二版课件2)命名空间·HDFS中的文件命名遵循了传统的“目录/子目录/文件”格式。通过命令行或者是API可以创建目录,并且将文件保存在目录中;命名空间由NameNode

管理,所有对命名空间的改动都会被HDFS记录下来。《云计算与大数据》第二版课件3)通信协议作为一个分布式文件系统,HDFS

中大部分的数据都是通过网络进行传输的。为了保证传输的可靠性,HDFS采用TCP

协议作为底层的支撑协议。《云计算与大数据》第二版课件4)客户端严格来讲,客户端并不能算是HDFS

的一部分,但是客户端是用户和HDFS

通信最常见也是最方便的渠道,

而且部署的HDFS都会提供客户端。10《云计算与大数据》第二版课件9.1.2

HDFS的数据管理HDFS通过三个重

要角色NameNode

DataNode《云计算与大数据》第二版课件Client11第

Client向NameNode发起文件写入的请求;Client将文件划分为多个Block,

根据DataNode的地址信息,按顺序写入到每一个DataNode

块中。NameNode

根据文件大小和文件块配置情况,

返回给Client它所管理部分DataNode

的信息。文件写入过程《云计算与大数据》第二版课件第二第三12第一

Client向NameNode

发起文件读取的请求。第二

NameNode

返回文件存储的DataNode

的信息。第三

Client读取文件信息文件读取过程《云计算与大数据》第二版课件13第三

DataNode开始直接相互复制。第二

通知DataNode

相互复制Block。《云计算与大数据》第二版课件NameNode

发现部分文件的block不符合最小复制数的要求或者部分DataNode

失效。文件块复制过程第一14客

(Client)②

⑥④DataNode

A

DataNode

B⑤DataNode

D

DataNode

E15《云计算与大数据》第二版课件DataNode

CDataNode

FHDFS①NameNode写过程:客户端

(Client)②

④DataNode

A

DataNode

BDataNode

D

DataNode

E16《云计算与大数据》第二版课件DataNodeCDataNode

FHDFS①NameNode读过程:《云计算与大数据》第二版课件①Block:一个Block

会有三份备份。②心跳检测:用心跳检测DataNode

的健康状况,如果发现问题就采取数据备份的方式来保证数据的安全性。③数据

使

用HDFS的balancer命令配置一个Threshold来平衡每一个DataNode

磁盘利用率。④数据校验。采用CRC32

作数据交验。⑤

个NameNode

。如果单个NameNode失败,任务处理信息将会记录在本地文件系统和远端的文件系统中。179.2.1

MapReduce原

理·MapReduce

采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。

简单地说,MapReduce

就是"任务的分解与结果的汇总"。·在Hadoop

中,用于执行MapReduce任务的机器角色有两个:

一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop

集群中只有一台JobTracker。9.2并行计算框架MapReduce

《云计算与大数据》第二版课件189.2.2

MapReduce处理过程在Hadoop

中,每个MapReduce

任务都被初始化为一个Job,

每个Job

又可以分为两种阶段:

map

阶段和reduce

阶段。这两个阶段分别用两个函数表示,即map函数和reduce函数。《云计算与大数据》第二版课件19《云计算与大数据》第二版课件Mappersmap()map()map()Reducersreduce()reduce()Outputpart0part1Inputsplit0split1split2Middle

Result20单词计数是最简单也是最能体现MapReduce

思想的程序之一,可以称为MapReduce

版“Hello

World”

,该程序的完整代码可以在Hadoop

安装包的“src/examples”目

录下找到。单词计数主要完成功能是:统计一系列文本文件中每个单词出现的次数。《云计算与大数据》第二版课件21《云计算与大数据》第二版课件分割结果<0,"HelloWorld">

<12,"ByeWorld"><0,"Hello

Hadoop">

<13,"Bye

Hadoop">输入数据Hello

WorldByeWorldHello

HadoopBye

Hadoopsplitsplit22《云计算与大数据》第二版课件分割结果<0,"HelloWorld">

<12,"ByeWorld"><0,"Hello

Hadoop">

<13,"Bye

Hadoop">map

方法输出<Hello,1><World,1><Bye,1><World,1><Hello,1><Hadoop,1><Bye,1><Hadoop,1>map()map()23map

方法输出<Hello,1><World,1><Bye,1><World,1><Hello,1><Hadoop,1><Bye,1><Hadoop,1>排序结果<Bye,1>

<Hello,1><World,1>

<World,1><Bye,1><Hadoop,1><Hadoop,1>

<Hello,1>Combine

输出<Bye,1>

<Hello,1>

<World,2><Bye,1><Hadoop,2><Hello,1>Combine

过程Combine

过程map排序map

排序《云计算与大数据》第二版课件24排序结果<Bye,list(1,1)><Hadoop,list(2)><Hello,list(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论