Hadoop中的1个node

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的容错机制11分主要,Hadoop提供了三种机制。

首先种方法是将持久化存款和储蓄在当地硬盘的文件系统元数据备份。Hadoop能够经过配备来让Namenode将她的持久化状态文件写到分裂的文件系统中。这种写操作是一起并且是原子化的。比较常见的配备是在将持久化状态写到本地硬盘的同时,也写入到三个远道挂载的互连网文件系统(NFS)。

第二种方法是运营1个辅助的Namenode(Secondary Namenode)。
事实上Secondary
Namenode并无法被看成Namenode它的重点功能是限期的将Namespace镜像与操作日志文件(edit
log)合并,以幸免操作日志文件(edit log)变得过大。常常,Secondary Namenode
运行在贰个独自的物理机上,因为联合操作必要占用多量的CPU时间以及和Namenode十分的内部存款和储蓄器。援救Namenode保存着统1后的Namespace镜像的1个备份,万一几时Namenode宕机了,那个备份就足以用上了。

可是援救Namenode总是落后于主Namenode,所以在Namenode宕机时,数据丢失是不可防止的。在那种状态下,一般的,要结合第3种方法中涉及的长途挂载的互连网文件系统(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文件会变的相当的大,怎么去管理这一个文件是二个挑衅。
  4. NameNode的重启会开销十分短日子,因为有很多转移(在edit
    logs中]要统1到fsimage文件上)。
    3.
    假使NameNode挂掉了,这我们就不见了许多改动机原因为此时的fsimage文件万分旧。

从而为了制伏这几个题材,大家必要三个容易管理的编制来帮衬我们减小edit
logs文件的轻重和取得贰个最新的fsimage文件,那样也会减小在NameNode上的压力。那跟Windows的苏醒点是这一个像的,Windows的死灰复燃点机制允许大家对OS举办快照,这样当系统一发布出问题时,大家能够回滚到新型的1遍复苏点上


2:SecondNameNode

2、Secondary NameNode

它的天职是统1NameNode的edit logs到fsimage文件中。

image.png

地点的图纸浮现了Secondary NameNode是怎么工作的:
第3,它定时到NameNode去赢得edit
logs,并立异到fsimage上。[笔者注:Secondary
NameNode自己的fsimage]尽管它有了新的fsimage文件,它将其拷贝回NameNode中。NameNode在下次重启时会使用那一个新的fsimage文件,从而收缩重启的年月。Secondary
NameNode的方方面面指标是在HDFS中提供3个检查点。它只是NameNode的2个助理节点。那也是它在社区内被认为是检查点节点的原因。它并不是Namenode的一个备份

地点的图样呈现了Secondary NameNode是怎么工作的:

  1. 首先,它定时到NameNode去获得edit
    logs,并革新到fsimage上。[笔者注:Secondary NameNode自己的fsimage]
  2. 倘若它有了新的fsimage文件,它将其拷贝回NameNode中。
  3. NameNode在下次重启时会使用那个新的fsimage文件,从而减弱重启的光阴。
    Secondary
    NameNode的方方面面目标是在HDFS中提供3个检查点。它只是NameNode的贰个臂膀节点。那也是它在社区内被认为是检查点节点的案由。

最近,大家明白了Secondary
NameNode所做的然则是在文件系统中设置三个检查点来援救NameNode越来越好的工作。它不是要替代掉NameNode也不是NameNode的备份。所以从今后起,让大家养成四个习惯,称呼它为检查点节点吧。


3:DataNode

3.Datanode

Datanode是文件系统的做事节点,他们基于客户端依然是namenode的调度存款和储蓄和寻找数据,并且定期向namenode发送他们所蕴藏的块(block)的列表。
集群中的各样服务器都运作1个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记录着每一种文件中逐1块所在的多少节点的岗位消息,但是她并不持久化存款和储蓄那些音信,因为那个新闻会在系统运转时从数额节点重建。

Namenode结构图课抽象为如图:

图片 1

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

一.壹Namenode容错机制

并未Namenode,HDFS就不能够源办公室事。事实上,借使运营namenode的机械坏掉的话,系统中的文件将会完全不见,因为尚未任何情势能够将放在分化datanode上的文本块(blocks)重建文件。因而,namenode的容错机制相当关键,Hadoop提供了三种体制。

首先种方法是将持久化存款和储蓄在地头硬盘的文件系统元数据备份。hadoop可以经过配备来让Namenode将他的持久化状态文件写到不一样的文件系统中。那种写操作是一起并且是原子化的。相比常见的配备是在将持久化状态写到本地硬盘的还要,也写入到三个远程挂载的互连网文件系统。

第二种办法是运作2个协理的Namenode(Secondary Namenode)。 事实上Secondary
Namenode并无法被用作Namenode它的重大成效是期限的将Namespace镜像与操作日志文件(edit
log)合并,以免备操作日志文件(edit log)变得过大。平时,Secondary Namenode
运转在一个独立的物理机上,因为联合操作必要占用多量的CPU时间以及和Namenode格外的内部存款和储蓄器。帮忙Namenode保存着统一后的Namespace镜像的三个备份,万1何时Namenode宕机了,那么些备份就足以用上了。

可是援助Namenode总是落后于主Namenode,所以在Namenode宕机时,数据丢失是不可制止的。在那种场地下,1般的,要组成第二种方式中提到的长距离挂载的网络文件系统(NFS)中的Namenode的元数据文件来使用,把NFS中的Namenode元数据文件,拷贝到帮忙Namenode,并把救助Namenode作为主Namenode来运转。

自然在hadoop 二.x 中,已经有了新的缓解方案,那正是NameNode
HA(因为Hadoop还包罗 ResourceManage
HA),hadoop联邦
Hadoop
HA是指同时启动多个NameNode,1个地处工作境况,其它2个远在随时待命状态,那样在处于工作状态的NameNode所在的服务器宕机时,可在数额不丢掉的处境下,手工业恐怕机关怀换来别的二个NameNode提供服务。


2、Datanode介绍

Datanode是文件系统的工作节点,他们依据客户端或许是namenode的调度存款和储蓄和查找数据,并且定期向namenode发送他们所蕴藏的块(block)的列表。

集群中的每一个服务器都运转一个DataNode后台程序,那几个后台程序负责把HDFS数据块读写到本地的文件系统。当供给通过客户端读/写有个别数据时,先由NameNode告诉客户端去哪个DataNode进行具体的读/写操作,然后,客户端直接与那几个DataNode服务器上的后台程序举行通信,并且对有关的数量块实行读/写操作。


3、Secondary NameNode介绍

除此以外1篇关于Secondary NameNode
的博客,描述的也相当清晰:点击阅读

Secondary  NameNode是1个用来监督HDFS状态的支持后台程序。就想NameNode1样,每一个集群都有二个Secondary  NameNode,并且配备在一个独立的服务器上。Secondary  NameNode差别于NameNode,它不收受大概记录任何实时的数额变化,然则,它会与NameNode举办通讯,以便定期地保留HDFS元数据的
快速照相。由于NameNode是单点的,通过Secondary  NameNode的快速照相功用,能够将NameNode的宕机时间和数码损失下落到细微。同时,假若NameNode发生难点,Secondary  NameNode能够登时地看成备用NameNode使用。

三.1NameNode的目录结构如下:

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

/edits

/fsimage

/fstime

三.二Secondary NameNode的目录结构如下:

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

/edits

/fsimage

/fstime

/previous.checkpoint/VERSION

/edits

/fsimage

/fstime

图片 2

如上海教室,Secondary NameNode主即便做Namespace image和艾德it 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上;

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

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

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

方方面面处理进程达成。

Secondary
NameNode的处理,是将fsimage和edites文件周期的联合,不会造成nameNode重启时造成长日子不足访问的景色。


4、ResourceManager介绍

图片 3

ResourceManage
即财富管理,在YA路虎极光N中,ResourceManager负责集群中具有能源的联结保管和分红,它接受来自各类节点(NodeManager)的财富汇报讯息,并把这个音信遵照一定的政策分配给各种应用程序(实际上是ApplicationManager)。

奇骏M包涵Scheduler(定时调度器)和ApplicationManager(应用管理器)。Schedular负责向应用程序分配财富,它不做监察和控制以及应用程序的情况跟踪,并且不保证会重启应用程序本人照旧硬件出错而实施破产的应用程序。ApplicationManager负责接受新的任务,协调并提供在ApplicationMaster容器失利时的重启作用。

此处大约介绍以下ApplicationMaster,每一个应用程序的AM负责项Scheduler申请能源,以及跟踪这么些财富的运用境况和能源调度的督察

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


5、NodeManager介绍

图片 4

NM是ResourceManager在每台机器上的代理,负责容器管理,并监察和控制它们的能源利用情形,以及向ResourceManager/Scheduler提供能源利用报告