文档章节

HDFS Federation

散关清渭
 散关清渭
发布于 2015/07/23 14:00
字数 603
阅读 61
收藏 0

在Hadoop 2.0之前,也有若干技术试图解决单点故障的问题:

Secondary NameNode。

它不是HA,它只是阶段性的合并edits和fsimage,以缩短集群启动的时间。

当NameNode失效的时候,Secondary NN并无法立刻提供服务,Secondary NN甚至无法保证数据完整性:

如果NN数据丢失的话,在上一次合并后的文件系统的改动会丢失。


Backup NameNode 。

它在内存中复制了NN的当前状态,算是Warm Standby,可也就仅限于此,并没有failover等。

它同样是阶段性的做checkpoint,也无法保证数据完整性。


手动把name.dir指向NFS。安全的Cold Standby,可以保证元数据不丢失,但集群的恢复则完全靠手动。


单NN的架构使得HDFS在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NN进程使用的内存可能会达到上百G,常用的估算公式为1G对应1百万个块,按缺省块大小计算的话,大概是64T。同时,所有的元数据信息的读取和操作都需要与NN进行通信,譬如客户端的addBlock、getBlockLocations,还有DataNode的blockRecieved、sendHeartbeat、blockReport,在集群规模变大后,NN成为了性能的瓶颈。


HDFS Federation是为解决HDFS单点故障而提出的NameNode水平扩展方案。

允许HDFS创建多个NameSpace以提高集群扩展性和隔离性。

当前HDFS包含两层结构: 

(1) Namespace 管理目录,文件和数据块。它支持常见的文件系统操作,如创建文件,修改文件,删除文件等。 

(2)Block Storage有两部分组成: Block Management维护集群中datanode的基本关系,它支持数据块相关的操作,如:创建数据块,删除数据块等,同时,它也会管理副本的复制和存放。 Physical Storage存储实际的数据块并提供针对数据块的读写服务。


HDFS架构只允许整个集群中存在一个namespace,而该namespace被仅有的一个namenode管理。这个架构使得HDFS非常容易实现,但是,它(见上图)在具体实现过程中会出现一些模糊点,进而导致了很多局限性


参考文献:

[0]  HDFS Federation

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/Federation.html

[1]  An Introduction to HDFS Federation

http://zh.hortonworks.com/blog/an-introduction-to-hdfs-federation/


© 著作权归作者所有

共有 人打赏支持
下一篇: 浅谈DSL
散关清渭
粉丝 24
博文 238
码字总数 166498
作品 0
东城
程序员
私信 提问
分布式文件系统HDFS中的Federation

HDFS Federation是Hadoop-0.23.0中为解决HDFS单点故障而提出的namenode水平扩展方案。该方案允许HDFS创建多个namespace以提高集群的扩展性和隔离性。本篇文章主要介绍了HDFS Federation的设计...

LIPING234
2013/10/22
0
2
HDFS Federation(HDFS 联盟)介绍

1. 当前HDFS架构和功能概述 我们先回顾一下HDFS功能。HDFS实际上具有两个功能:命名空间管理(Namespace management)和块/存储管理服务(block/storage management)。 1.1 命名空间管理 HD...

zqx1787
2014/12/13
0
0
HDFS Federation(HDFS 联盟)介绍

当前HDFS架构和功能概述 我们先回顾一下HDFS功能。HDFS实际上具有两个功能:命名空间管理(Namespace management)和块/存储管理服务(block/storage management)。 1.1 命名空间管理 HDFS...

蓝狐乐队
2014/04/27
0
0
Hadoop手把手逐级搭建,从单机伪分布到高可用+联邦(4)Hadoop高可用+联邦(HA+Federation)

第四阶段: Hadoop高可用+联邦(HA+Federation) 0. 步骤概述 1. 为高可用保存hadoop配置 1.1 进入$HADOOP_HOME/etc/目录 1.2 备份hadoop高可用配置,供以后使用 1.3 查看$HADOOP_HOME/etc/目录...

bigablecat
01/05
0
0
CCAH-CCA-500-2题:what is the maximum number of NameNode daemons.....

2.Assuming you’re not running HDFS Federation, what is the maximum number of NameNode daemons you should run on your cluster in order to avoid a “split-brain” scenario with ......

sh_jepson
2016/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

telegram_bot

new group -> 选择人 -> 填写群名 搜索BotFather -> start =========================== ou can control me by sending these commands: /newbot - create a new bot /mybots - edit your bo......

八戒八戒八戒
7分钟前
0
0
Spring boot中使用Jackson ObjectMapper注入

问题 本身spring boot已经集成了Jackson的库,我想自己在Controller中直接使用Spring默认的ObjectMapper,应该怎么做? RestController.java public class RestController { private fi...

亚林瓜子
12分钟前
0
0
老男孩 - python函数编程day2

mark

以谁为师
27分钟前
1
0
【58沈剑 架构师之路】缓存,究竟是淘汰,还是修改?

允许cache miss的场景,不管是memcache还是redis,当被缓存的内容变化时,是修改缓存,还是淘汰缓存?这是今天将要讨论的话题。 问:KV缓存都缓存了一些什么数据? 答: (1)朴素类型的数据...

张锦飞
28分钟前
1
0
Spring异常之Druid – unregister mbean error set JAVA_OPTS="-Ddruid.registerToSysProperty=true"

Spring异常之Druid – unregister mbean error 2017年04月19日 12:13:42 Dr.Zhu 阅读数:6688 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt_fucker/arti...

linjin200
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部