爱博体育Hadoop中之3只nodeNameNode SecondNameNode DataNode ResourceManager NodeManager

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镜像的一个备份,万一哪天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文件会变的老大酷,怎么去管理之文件是一个挑战。
  4. NameNode的重启会花费十分丰富日子,因为有好多改变(在edit
    logs中]万一统一到fsimage文件上)。
    3.
    万一NameNode挂掉了,那我们便不见了累累改因为此时底fsimage文件非常原始。

据此为克服这个题目,我们需要一个轻管理之建制来支援我们减小edit
logs文件的轻重缓急及收获一个新颖的fsimage文件,这样呢会减弱多少在NameNode上的下压力。这和Windows的恢复点是异常像的,Windows的复点机制允许我们本着OS进行快照,这样当系统发生问题经常,我们能回滚到最新的同等差恢复点达


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的一个臂膀节点。这也是它在社区内给认为是检查点节点的案由。它并无是Namenode的一个备份

面的图纸显示了Secondary NameNode是怎工作之:

  1. 第一,它定时到NameNode去得edit
    logs,并创新至fsimage上。[笔者注:Secondary NameNode自己的fsimage]
  2. 假设其发矣初的fsimage文件,它将那拷贝回NameNode中。
  3. NameNode在下次重启时会采用这个新的fsimage文件,从而减少重复开的工夫。
    Secondary
    NameNode的整整目的是在HDFS中提供一个检查点。它只是NameNode的一个副手节点。这也是其当社区内为认为是检查点节点的缘故。

本,我们懂得了Secondary
NameNode所做的而是大凡以文件系统中安装一个检查点来拉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宕机时,数据丢失是不可逆转的。在这种情形下,一般的,要结合第一种艺术被干的长距离挂载的大网文件系统(NFS)中之Namenode的初数据文件来用,把NFS中之Namenode元数据文件,拷贝到帮忙Namenode,并拿扶持Namenode作为主Namenode来运作。

当然在hadoop 2.x 中,已经发矣初的缓解方案,那即便是NameNode
HA(因为Hadoop还包 ResourceManage
HA),hadoop联邦,
Hadoop
HA是恃又起步两独NameNode,一个高居工作状态,另外一个处于随时待命状态,这样在处于工作状态的NameNode所在的服务器宕机时,可当数码不掉的动静下,手工或者机关切换至另外一个NameNode提供服务。


2、Datanode介绍

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

集合众多被的每个服务器都运作一个DataNode后台程序,这个后台程序负责把HDFS数据块读写到地方的文件系统。当得经客户端读/写有只
数据经常,先由NameNode告诉客户端去哪个DataNode进行具体的读/写操作,然后,客户端直接和此DataNode服务器上之后台程序进行通
信,并且针对有关的多寡块进行读/写操作。


3、Secondary NameNode介绍

此外一首有关Secondary NameNode
的博客,描述的也特别清楚:点击阅读

Secondary  NameNode是一个就此来监督HDFS状态的扶后台程序。就想NameNode一样,每个集群都来一个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)。

鉴于Edit
log不断增强,在NameNode重开时,会促成长时NameNode处于安全模式,不可用状态,是雅不相符Hadoop的计划初衷。所以要周期性合并Edit
log,但是这工作由NameNode来就,会占用大量资源,这样即使出现了Secondary
NameNode,它好开展image检查点的处理工作。步骤如下:

(1)       Secondary NameNode请求NameNode进行edit
log的滚(即开立一个初的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
即资源管理,在YARN中,ResourceManager负责集众多被所有资源的联管理以及分配,它接受来自各个节点(NodeManager)的资源汇报信息,并把这些消息以一定的国策分配给各个应用程序(实际上是ApplicationManager)。

RM包括Scheduler(定时调度器)和ApplicationManager(应用管理器)。Schedular负责向应用程序分配资源,它不开监控和应用程序的状态跟踪,并且不保证会重启应用程序本身要硬件出错而施行破产的应用程序。ApplicationManager负责接受新的天职,协调并提供在ApplicationMaster容器失败时的还开功能。

此处大概介绍以下ApplicationMaster,每个应用程序的AM负责项Scheduler申请资源,以及跟这些资源的利用状况跟资源调度的督察

重多关于ResourceManager的牵线参考:点击阅读


5、NodeManager介绍

爱博体育 4

NM是ResourceManager在各级令机械上的代办,负责容器管理,并监控她的资源利用状况,以及为ResourceManager/Scheduler提供资源用报告

相关文章