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提供资源使用报告

相关文章