大数据中,HDFS集群以Master-Slave模式运行,主要有两类节点:一个Namenode(即Master)和多个Datanode(即Slave)。Namenode管理者文件系统的Namespace。它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)。

HDFS Architecture:

HDFS中的Namenode和Datanode(hdfs中namenode的作用)  HDFS 第1张Namenode

Namenode 办理者文件体系的Namespace。它维护着文件体系树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)。办理这些信息的文件有两个,分别是Namespace 镜像文件(Namespace image)和操作日志文件(edit log),这些信息被Cache在RAM中,当然,这两个文件也会被耐久化存储在本地硬盘。Namenode记录着每个文件中各个块地点的数据节点的方位信息,可是他并不耐久化存储这些信息,由于这些信息会在体系启动时从数据节点重建。

Namenode结构图课笼统为如图:

HDFS中的Namenode和Datanode(hdfs中namenode的作用)  HDFS 第2张

客户端(client)代表用户与namenode和datanode交互来访问整个文件体系。客户端供给了一些列的文件体系接口,因而咱们在编程时,简直无须知道datanode和namenode,即可完结咱们所需求的功用。

Datanode

Datanode是文件体系的作业节点,他们依据客户端或者是namenode的调度存储和检索数据,而且定时向namenode发送他们所存储的块(block)的列表。

Namenode容错机制

没有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来运转。

原文链接:http://shitouer.cn/2012/12/HDFS-namenode-datanode/

【修改引荐】

  1. 分布式文件体系HDFS规划
  2. 分布式文件体系HDFS中Block介绍
  3. HBase规划:看上去很美
  4. 三种东西永久不要放到数据库里
  5. 没有数据驱动的流程和产品 大数据将毫无价值

转载请说明出处
知优网 » HDFS中的Namenode和Datanode(hdfs中namenode的作用)

发表评论

您需要后才能发表评论