hadoop(三)进一步理解

HDFS的实现思想:

1.hdfs是通过分布式集群来存储文件,吧文件切分成block,存放在若干平台的datanode数据节点

2.hdfs文件系统的文件与block之间有映射关系,由namenode命名服务器管理

3.每一个block在集群中会存多个副本,好处是可以提高系统的可靠性,还可以提高系统的吞吐量

 

hadoop(三)进一步理解

Map Reduce

  • JobTracker

    hadoop的Map/Reduce调度器,负责与TackTracker通信分配计算任务并跟踪任务进度

  • TaskTracker

    启动和管理Map和Reduce子任务的节点


NameNode和SecondaryNamenode

职责:1.维护元数据信息

2.维护hdfs目录树

3.响应客户端的请求

hadoop(三)进一步理解

1、客户端上传文件时,NN首先往edits log文件中记录元数据操作日志

2、客户端开始上传文件,完成后返回成功信息给NN,NN就在内存中写入这次上传操作的新产生的元数据信息

3、每当editslog写满时,需要将这一段时间的新的元数据刷到fsimage文件中去

 

editslog与fsimage的合并是SecondaryNamenode去做的:

hadoop(三)进一步理解

·fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒。

·fs.checkpoint.size-规定edits文件的最大值,一旦超过这个值则强制checkpoint,不管是否到达最大时间间隔。默认大小是64M。


Datanode

提供真实文件数据的存储服务。

·文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block.

dfs.block.size

·不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间Replication。多复本。默认是三个。

hdfs-site.xml的cfs.replication属性来定义Block副本数,默认值3


YARN

hadoop(三)进一步理解

yarn

 

MapReduce要运行job,yarn产生jobId,并把文件放入指定目录,之后分发到机器,并在各个节点上分配运行容器,产生一个主管进程appMaster,使得yarn的通用性很强,不仅仅支持MapReduce这种运算模型,也能支持