那八个文本也会被持久化存款和储蓄在该地硬盘,Namenode 管理者文件系统的Namespace

1.namenode:

Namenode 管理着文件系统的Namespace。它保养着文件系统树(filesystem
tree)以及文件树中兼有的公文和文书夹的元数据(metadata)。管理那么些消息的文件有三个,分别是Namespace
镜像文件(Namespace image)和操作日志文件(edit
log),这几个消息被Cache在RAM中,当然,那三个文件也会被持久化存款和储蓄在地点硬盘。Namenode记录着各类文件中逐一块所在的多寡节点的地点音信,可是她并不持久化存款和储蓄那一个消息,因为那几个音讯会在系统运行时从数额节点重建。
Namenode结构图抽象图如下

image.png

1:NameNode

Namenode容错机制:

尚未Namenode,HDFS就不可能干活。事实上,若是运维namenode的机械坏掉的话,系统中的文件将会完全不见,因为没有别的办法能够将放在分化datanode上的文本块(blocks)重建文件。因而,namenode的容错机制非凡关键,Hadoop提供了二种体制。

先是种格局是将持久化存款和储蓄在地点硬盘的文件系统元数据备份。Hadoop能够经过安排来让Namenode将他的持久化状态文件写到差别的文件系统中。那种写操作是同台并且是原子化的。相比较常见的布署是在将持久化状态写到本地硬盘的同时,也写入到多少个长途挂载的网络文件系统(NFS)。

其次种办法是运作多个扶持的Namenode(Secondary Namenode)。
事实上Secondary
Namenode并不可能被当做Namenode它的最主要功能是限期的将Namespace镜像与操作日志文件(edit
log)合并,以预防操作日志文件(edit log)变得过大。经常,Secondary Namenode
运营在一个独立的物理机上,因为联合操作要求占用大批量的CPU时间以及和Namenode相当的内部存款和储蓄器。支持Namenode保存着统一后的Namespace镜像的1个备份,万一哪天Namenode宕机了,那个备份就足以用上了。

不过援救Namenode总是落后于主Namenode,所以在Namenode宕机时,数据丢失是不可翻盘的。在那种情形下,一般的,要结成第贰种艺术中涉嫌的中远距离挂载的网络文件系统(NFS)中的Namenode的元数据文件来接纳,把NFS中的Namenode元数据文件,拷贝到帮忙Namenode,并把帮衬Namenode作为主Namenode来运营。

image.png

上边的那张图片展现了NameNode怎么把元数据保存到磁盘上的。那里有五个不等的文件:

  1. fsimage – 它是在NameNode运转时对全部文件系统的快速照相
  2. edit logs – 它是在NameNode运营后,对文件系统的变动连串
    唯有在NameNode重启时,edit
    logs才相会并到fsimage文件中,从而获取四个文件系统的新式快速照相。不过在产品集群中NameNode是很少重启的,那也表示当NameNode运维了相当短日子后,edit
    logs文件会变得极大。在那种场馆下就会冒出上边一些题材:
  3. edit logs文件会变的相当的大,怎么去管理这一个文件是3个挑衅。
  4. NameNode的重启会开支非常长日子,因为有众多改成(在edit
    logs中]要合并到fsimage文件上)。
    3.
    比方NameNode挂掉了,那我们就不见了不少转移因为那时候的fsimage文件格外旧。

故而为了打败那个难点,大家供给叁个便于管理的建制来扶持我们减小edit
logs文件的轻重缓急和获取1个新型的fsimage文件,那样也会减小在NameNode上的下压力。那跟Windows的苏醒点是万分像的,Windows的还原点机制允许咱们对OS进行快速照相,那样当系统一发布出难题时,大家能够回滚到最新的3次苏醒点上


2:SecondNameNode

2、Secondary NameNode

它的职务是联合NameNode的edit logs到fsimage文件中。

image.png

地点的图形展现了Secondary NameNode是怎么工作的:
先是,它定时到NameNode去获取edit
logs,并更新到fsimage上。[笔者注:Secondary
NameNode自己的fsimage]要是它有了新的fsimage文件,它将其拷贝回NameNode中。NameNode在下次重启时会使用那几个新的fsimage文件,从而减少重启的时间。Secondary
NameNode的整个目标是在HDFS中提供二个检查点。它只是NameNode的3个副手节点。那也是它在社区内被认为是检查点节点的原委。它并不是Namenode的三个备份

地方的图形呈现了Secondary NameNode是怎么工作的:

  1. 先是,它定时到NameNode去获取edit
    logs,并更新到fsimage上。[笔者注:Secondary NameNode自己的fsimage]
  2. 如若它有了新的fsimage文件,它将其拷贝回NameNode中。
  3. NameNode在下次重启时会使用这么些新的fsimage文件,从而减弱重启的年月。
    Secondary
    NameNode的整套目标是在HDFS中提供二个检查点。它只是NameNode的3个助手节点。这也是它在社区内被认为是检查点节点的原委。

于今,大家理解了Secondary
NameNode所做的但是是在文件系统中设置3个检查点来支援NameNode更好的行事。它不是要代表掉NameNode也不是NameNode的备份。所以从今后起,让大家养成三个家常便饭,称呼它为检查点节点吧。


3:DataNode

3.Datanode

Datanode是文件系统的劳作节点,他们遵照客户端依然是namenode的调度存款和储蓄和摸索数据,并且定期向namenode发送他们所蕴藏的块(block)的列表。
集群中的每一种服务器都运作一个DataNode后台程序,那个后台程序负责把HDFS数据块读写到本地的文件系统。当供给经过客户端读/写某些数据时,先由NameNode告诉客户端去哪个DataNode举行具体的读/写操作,然后,客户端直接与这一个DataNode服务器上的后台程序进行通信,并且对相关的多少块进行读/写操作。

4:ResourceManager

5:NodeManager


参照博客:

http://dongxicheng.org/mapreduce-nextgen/nodemanager-architecture/

http://dongxicheng.org/mapreduce-nextgen/yarnmrv2-resource-manager-infrastructure/

http://www.aboutyun.com/thread-7778-1-1.html


1、NameNode介绍

Namenode 管理者文件系统的Namespace。它保护着文件系统树(filesystem
tree)以及文件树中全数的文件和文书夹的元数据(metadata)。管理那一个音讯的文本有四个,分别是Namespace
镜像文件(Namespace image)和操作日志文件(edit
log),那一个音讯被Cache在RAM中,当然,那七个文本也会被持久化存储在本土硬盘。Namenode记录着各样文件中逐条块所在的数码节点的任务消息,不过她并不持久化存储那几个音讯,因为那几个音讯会在系统运营时从数量节点重建。

Namenode结构图课抽象为如图:

图片 1

客户端(client)代表用户与namenode和datanode交互来访问整个文件系统。客户端提供了有的列的文件系统接口,因此我们在编制程序时,差不多不用知道datanode和namenode,即可到位大家所需求的功效。

1.1Namenode容错机制

从没Namenode,HDFS就不能够源办公室事。事实上,假使运营namenode的机械坏掉的话,系统中的文件将会完全不见,因为从没其余方法能够将位于区别datanode上的文本块(blocks)重建文件。因而,namenode的容错机制分外首要,Hadoop提供了二种体制。

第①种艺术是将持久化存款和储蓄在当地硬盘的文件系统元数据备份。hadoop能够因此配备来让Namenode将她的持久化状态文件写到差别的文件系统中。那种写操作是手拉手并且是原子化的。相比普遍的配备是在将持久化状态写到本地硬盘的还要,也写入到三个长距离挂载的网络文件系统。

其次种方法是运维一个帮扶的Namenode(Secondary Namenode)。 事实上Secondary
Namenode并不能够被当作Namenode它的要紧成效是限期的将Namespace镜像与操作日志文件(edit
log)合并,以幸免操作日志文件(edit log)变得过大。平常,Secondary Namenode
运转在八个独立的物理机上,因为联合操作供给占用大批量的CPU时间以及和Namenode格外的内部存款和储蓄器。扶助Namenode保存着统一后的Namespace镜像的三个备份,万一曾几何时Namenode宕机了,这么些备份就足以用上了。

可是帮衬Namenode总是落后于主Namenode,所以在Namenode宕机时,数据丢失是不可防止的。在那种状态下,一般的,要结合第3种方法中涉及的长途挂载的网络文件系统(NFS)中的Namenode的元数据文件来行使,把NFS中的Namenode元数据文件,拷贝到协助Namenode,并把帮扶Namenode作为主Namenode来运营。

当然在hadoop 2.x 中,已经有了新的消除方案,那便是NameNode
HA(因为Hadoop还包涵 ResourceManage
HA),hadoop联邦
Hadoop
HA是指同时运营八个NameNode,二个远在工作情况,其余多少个远在随时待命状态,这样在处于工作情景的NameNode所在的服务器宕机时,可在数额不丢掉的事态下,手工业恐怕机关怀换来其它3个NameNode提供劳务。


2、Datanode介绍

Datanode是文件系统的做事节点,他们基于客户端照旧是namenode的调度存款和储蓄和寻找数据,并且定期向namenode发送他们所蕴藏的块(block)的列表。

集群中的种种服务器都运维2个DataNode后台程序,那些后台程序负责把HDFS数据块读写到本地的文件系统。当须求通过客户端读/写某个数据时,先由NameNode告诉客户端去哪个DataNode实行实际的读/写操作,然后,客户端间接与这几个DataNode服务器上的后台程序进行通讯,并且对相关的多寡块进行读/写操作。


3、Secondary NameNode介绍

其余一篇有关Secondary NameNode
的博客,描述的也12分清晰:点击阅读

Secondary  NameNode是3个用来监督HDFS状态的扶植后台程序。就想NameNode一样,各种集群都有2个Secondary  NameNode,并且配备在一个独自的服务器上。Secondary  NameNode不相同于NameNode,它不收受可能记录任何实时的数码变化,可是,它会与NameNode进行通讯,以便定期地保留HDFS元数据的
快速照相。由于NameNode是单点的,通过Secondary  NameNode的快照功效,能够将NameNode的宕机时间和数量损失降低到微小。同时,倘诺NameNode爆发难题,Secondary  NameNode能够马上地看成备用NameNode使用。

3.1NameNode的目录结构如下:

${dfs.name.dir}/current/VERSION

/edits

/fsimage

/fstime

3.2Secondary NameNode的目录结构如下:

${fs.checkpoint.dir}/current/VERSION

/edits

/fsimage

/fstime

/previous.checkpoint/VERSION

/edits

/fsimage

/fstime

图片 2

如上图,Secondary NameNode重借使做Namespace image和Edit log合并的。

那就是说那二种文件是做什么样的?当客户端执行写操作,则NameNode会在edit
log记录下来,(笔者觉得这些文件有个别像Oracle的online
redo logo file)并在内部存款和储蓄器中保留一份文件系统的元数据。

Namespace
image(fsimage)文件是文件系统元数据的持久化检查点,不会在写操作后旋即更新,因为fsimage写一点也相当的慢(那一个有比较像datafile)。

鉴于艾德it
log不断增强,在NameNode重启时,会促成长日子NameNode处于安全方式,不可用状态,是尤其不适合Hadoop的陈设初衷。所以要周期性合并艾德it
log,可是那几个工作由NameNode来成功,会占据大量能源,这样就应运而生了Secondary
NameNode,它能够实行image检查点的拍卖工作。步骤如下:

(1)       Secondary NameNode请求NameNode进行edit
log的滚动(即创制3个新的edit log),将新的编纂操作记录到新生成的edit
log文件;

(2)       通过http
get方式,读取NameNode上的fsimage和edits文件,到Secondary NameNode上;

(3)      
读取fsimage到内部存款和储蓄器中,即加载fsimage到内存,然后实施edits中享有操作(类似OracleDG,应用redo
log),并扭转一个新的fsimage文件,即那个检查点被创制;

(4)       通过http post形式,将新的fsimage文件传送到NameNode;

(5)      
NameNode使用新的fsimage替换原来的fsimage文件,让(1)创制的edits替代原先的edits文件;并且更新fsimage文件的检查点时间。

全体处理过程完毕。

Secondary
NameNode的处理,是将fsimage和edites文件周期的集合,不会导致nameNode重启时造成长日子不足访问的地方。


4、ResourceManager介绍

图片 3

ResourceManage
即财富管理,在YA奇骏N中,ResourceManager负责集群中保有能源的会晤管理和分配,它接受来自各种节点(NodeManager)的能源汇报新闻,并把那几个音信依照一定的国策分配给各种应用程序(实际上是ApplicationManager)。

奔驰G级M包涵Scheduler(定时调度器)和ApplicationManager(应用管理器)。Schedular负责向应用程序分配能源,它不做监察和控制以及应用程序的景色跟踪,并且不保障会重启应用程序自己依然硬件出错而施行破产的应用程序。ApplicationManager负责接受新的任务,协调并提供在ApplicationMaster容器失败时的重启功用。

此处大致介绍以下ApplicationMaster,各样应用程序的AM负责项Scheduler申请能源,以及跟踪那一个能源的使用情形和财富调度的督察

越多关于ResourceManager的介绍参考:点击阅读


5、NodeManager介绍

图片 4

NM是ResourceManager在每台机械上的代理,负责容器管理,并监督它们的能源利用情况,以及向ResourceManager/Scheduler提供能源选用报告

相关文章