HDFS Federation

简介: HDFS Federation.pdf 目录 目录 1 1. 前言 1 2. 背景 1 3. 解析 1   1. 前言 Federation翻译成中文是联盟或联邦的意思,网上有很多介绍HDFS Federation的文章,官网上的Federation.html也做了专门的介绍。

img_e25d4fb2f8de1caf41a735ec53088516.pngHDFS Federation.pdf

目录

目录 1

1. 前言 1

2. 背景 1

3. 解析 1

 

1. 前言

Federation翻译成中文是联盟或联邦的意思,网上有很多介绍HDFS Federation的文章,官网上的Federation.html也做了专门的介绍。本文试图画蛇添足,以更通俗的方式重复一遍,以帮助对HDFS Federation的理解。

2. 背景

为何需要Federation?众所周知,之前的HDFS存在如下几个缺陷:

1) NameNode存在单点,不具备高可用性

2) 由于受限于单个NameNode,支撑的文件数量有限

3) 同样受限于单个NameNode,吞吐量有限

 

站在运维和高可用性的角度,解决这些问题,系统运行可以省心得多。HDFS Federation因此很自然的诞生了,但请注意它只解决了后两个问题,第一个问题不在它的解决范畴之内。

为何说很自然的诞生,稍加思考即可明白解决这两个问题能有什么手段:无非是升级机器的内存和CPU,也就是纵向升级;另一个就是增加机器,也就是横向升级。

显然升级内存和CPU的手段是非常有限的,不能从根本上解决问题,两个问题仍然存在,因此可行的只有增加机器这个唯一手段了。

3. 解析

没有Federation之前的HDFS架构如下图所示(没有画SecondaryNameNode,是因为SecondaryNameNode是针对单点,而非Federation要解决的两个问题),这是一种非常简洁的架构,很明显压力都集中在单个NameNode上,它成了系统瓶颈:

 

Federation版本的HDFS架构变成如下,显然这里不止一个NameNode,而是存在多个NameNode,并且可以按需要添加新的NameNode进行横向扩展。这里的多个NameNode间地位是平等的,而且互不干涉互不隶属,站在每个NameNode上看,它就是一个独立的HDFS集群:

 

南京全面深化改革工作领导小组成立,由市委书记和市长同时担任改革小组组长,通过前面的描述不难发现HDFS Federation和这个有点类似,那么就会产生一个疑问:听谁的?不乱了么?答案是:都听

俗话曰无规则不成方圆,显然都听就乱序了。如果把这个关系理解成外包,可能更好理解一点,比如同一家外包公司会同时服务于多家公司,如下图所示:

 

可以进一步抽象:一个物理节点被虚拟化成多个虚拟节点,虚拟节点和NameNode是一一对应的,但物理节点和NameNode是一对多的关系。实际上Google Borg/Apache Mesos/Hadoop Yarn就是这样一种行为。进一步可看作:有多少个NameNode,就有多少个物理磁盘一样,Namespace就相当于C:\D:\等:

 

甚至,可以将NameNode看作是DataNode的客户端,而DataNode则是服务端,服务端当然可以服务不同的客户端。
    
HDFS Federation虽然未解决单点问题,但因为多个NameNode的存在,单个NameNode故障的影响就降低了,所以可以说HDFS Federation弱化了单点问题。

 

要从根本上解决单点,有多种可行的手段:

1) Share Storage,主备NameNode共享同一个存储,可保证数据完整性

2) 像SecondaryNamenode一样的备份,但不能保证数据完整性

3) 引入两阶段提交(2PC),可保证一致性,但写性能会下降

4) 引入Quorum NRW,也可保证一致性,可以选择牺牲读性能来提升写性能

 

也许2PC是相对较好的解决方式。

 

相关文章
|
存储 机器学习/深度学习 分布式计算
HDFS Federation简介
背景 熟悉大数据的人应该都知道,HDFS 是一个分布式文件系统,它是基于谷歌的 GFS 思路实现的开源系统,它的设计目的就是提供一个高度容错性和高吞吐量的海量数据存储解决方案。在经典的 HDFS 架构中有2个 NameNode 和多个 DataNode 的,如下: 从上面可以看出 HDFS 的架构其实大致可以分为两层: Namespace:由目录,文件和数据块组成,支持常见的文件系统操作,例如创建,删除,修改和列出文件和目录。
|
7月前
|
存储 块存储
HDFS Federation联邦机制
HDFS Federation联邦机制
202 1
|
机器学习/深度学习 分布式计算 Hadoop
Hadoop 容错之1.X的单点故障 到 2.X的HA和HDFS Federation
转载请注明出处:@http://blog.csdn.net/gamer_gyt,Thinkagmer 撰写 博主微博:http://weibo.com/234654758 (欢迎互撩)私人博客:http://blog.
1074 0
|
分布式计算 Hadoop
HDFS Federation(HDFS 联邦)(Hadoop2.3)
最早接触Federation这个词还是第一家公司用的DB2联邦数据库。 第一代Hadoop HDFS:   结构上由一个namenode和众多datanode组成。
1098 0
|
4月前
|
存储 分布式计算 Hadoop
Hadoop系列HDFS详解
Hadoop系列HDFS详解
41 0
|
4月前
|
分布式计算 Java 大数据
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
221 0
|
5月前
|
存储 分布式计算 Hadoop
aws s3常用命令、hdfs dfs/hadoop fs常用命令
aws s3常用命令、hdfs dfs/hadoop fs常用命令
416 0
|
4月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
123 0
|
13天前
|
分布式计算 Hadoop 测试技术
Hadoop【基础知识 05】【HDFS的JavaAPI】(集成及测试)
【4月更文挑战第5天】Hadoop【基础知识 05】【HDFS的JavaAPI】(集成及测试)
40 8
|
13天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03+04】【Hadoop集群资源管理器yarn】(图片来源于网络)(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第5天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
41 9