文档章节

hadoop_NameNode的介绍

天行自息
 天行自息
发布于 2018/11/01 18:02
字数 905
阅读 20
收藏 0

NameNode的作用:

管理着文件系统的命名空间。它维护着文件系统数以及文件树中所有的文件和目录。这些信息以两个文件形式永久保存在本地磁盘中(这两个文件也会被持久化存储在本地硬盘),分别是命名空间镜像文件(fsimage)和操作日志文件(editslog),这些信息被Cache在RAM中。NameNode记录着每个文件中各个块所在的数据节点信息,但是他并不永久保存这些块的信息,因为这些信息会在系统启动时从数据节点信息重建。

Nameode的容错:

第一种方式:是将持久化存储在本地硬盘的文件系统元数据备份。Hadoop可以通过配置来让Namenode将他的持久化状态文件写到不同的文件系统中,这种写操作是同步并且是原子化的。比较常见的配置是将持久化状态写到本地硬盘的同时,也写入到一个远程挂载的网络文件系统。

第二种方式:是运行一个辅助的NameNode(Secondary Namenode)。不过 Secondary并不能被用作Namenode,它的主要作用是定期将NameSpace镜像与操作日志文件(editslog)合并,以防止操作日志文件(editslog)变得过大。通常,Secondary Namenode 运行在一个单独的物理机上,因为合并操作需要占用大量cpu时间以及和Namenode相当的内存。辅助Namenode保存着合并后的Namespace镜像的一个备份,当Namenode发生故障时启用。但是辅助namenode保存的状态总是滞后于主节点,所以在主节点全部失效的时候,难免是会丢失部分数据。我们一般采取的方案是,把存储在远程挂载的网络文件系统中的namenode元数据复制到辅助namenode,并作为新的namenode运行,或者,也可以运行热备份namenode代替运行辅助namenode。

第三种 zookeeper提供的高可用(ha)机制。Ha配置来一对活动备用(active-standby)namenode,当活动namenode失效时,备用的namenode就会接管他的任务并开始服务于来自客户端的请求,不会有明显的中断。

HA实现架构修改:

    1,namenode之间需要通过高可用共享存储实现编辑日志的共享。当备用的namenode接管工作滞后,他将通读共享编辑日志直到末尾,已实现与活动namenode的状态同步,并继续读取由活动namenode写入的新条目。

    2,datanode需要同时向两个namenode发送数据块处理报告,因为数据的映射信息存储在namenode的内部中,而非磁盘。

    3,客户端需要使用特定的机制来处理namenode的失效问题,这一机制对用户是透明的。

    4,辅助namenode的角色被备用namenode所包含,备用的namenode为活动的namenode命名空间设置周期性检查点。

    当活动的namenode失效,备用的namenode也失效(这种概率极低),管理员依旧可以声明一个备用namenode并实现冷启动。

 

© 著作权归作者所有

天行自息
粉丝 0
博文 20
码字总数 16611
作品 0
丰台
私信 提问
Hadoop2.6.1集群部署之自动切换HA

1. 引言 在上篇博客中介绍了Haddop的手动切换NameNode,这在生产环境中还是不尽人意,因为工作人员可能并不会及时的知道NameNode什么时候宕机?因此在生产环境中实现NameNode的动态切换是十分...

Liri
2017/12/16
0
0
【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性

最近在自己的笔记本电脑上搭建了Apache Hadoop分布式集群,采用了最新的稳定版本2.8,并配置了NameNode、ResourceManager的HA高可用,方便日常对Hadoop的研究与测试工作。详细的搭建过程如下...

雪饼
2017/06/20
7.5K
21
【干货】Apache Hadoop 2.8 完全分布式集群搭建超详细过程,实现NameNode HA、ResourceManager HA高可靠性...

最近在自己的笔记本电脑上搭建了Apache Hadoop分布式集群,采用了最新的稳定版本2.8,并配置了NameNode、ResourceManager的HA高可用,方便日常对Hadoop的研究与测试工作。详细的搭建过程如下...

implok
2018/04/13
0
0
HBase1.2.6集群部署教程

1.引言 在前面的博客中我们介绍HBase的伪分布安装,在本篇博客中就主要介绍一下HBase的集群部署,由于HBase是一款Hadoop之上的NoSQL数据库,因此我们在安装HBase之前需要首先部署Hadoop的集群...

Liri
2017/12/16
0
0
大数据教程(11.1)HA机制以及设计思路的分析

上一章介绍了一些hadoop的实战分析案例,本章将介绍hadoop的高可用以及初步认识hive。 一、Hadoop的HA机制 前言:正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制;HA的运作机制:...

em_aaron
01/01
43
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
30分钟前
3
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部