Hadoop2.x之HDFS HA Federation
来源:互联网 发布:mac桌面不显示文件 编辑:程序博客网 时间:2024/05/01 05:28
一:前言
在hadoop1.x中,存在一些问题,一个是单点故障问题,另外一个是NameNode内存受限问题,因此为解决这些问题,第二代hadoop相对与第一代,就改进了相关的问题.在HDFS中加入两个新特性,分别是HA(high availability),和federation.而MapReduce则是加入了yarn(资源管理系统).
HA是为了解决单点问题.而Federation是解决内存受限问题.
本文将详细讲解hadoop2.x的HA
二:单点问题
在1.x版本中,NameNode工作负荷压力一直很大,而且一旦NameNode挂掉后,重新使用SecondaryNameNode进行恢复是需要一段时间的,而且NameNode挂掉的瞬间,可能有数据进行读写,此时,这部分数据就会丢失,造成影响.
三:HA
首先来看HA的详细图解.
接着介绍HA几个重要的部件
1:NameNode(Active),这是活动的NameNode,是真正工作的NameNode
2:NameNode(Standby),这是备份的NameNode,一旦活动的NameNode挂掉,可以立刻随时使用,因为其是每时每刻都与活动的NameNode同步.
3:DataNode,负责储存数据文件
4:JournalNode,储存元数据文件
5:failoverContriller,控制NameNode,进行NameNode的切换,会对NameNode和ZK进行心跳检查
为解决元数据实时同步问题,储存元数据可以使用两种方式,一种是Quorum Journal Manager,另一种是Network File System(NFS)
具体工作过程:
DataNode会向每个NameNode汇报自己的块信息,使得每个NameNode都实时掌握Block to DataNode信息,而当Actice的NN有活动操作时,会立刻想QJM系统写入操作日志,而StandBy的NameNode则会不断向QJM获取editlog来更新自己,使得与Actice的NameNode实现同步,
只有活动的NameNode可以想QJM中写入操作日志,因为如果两个NameNode同时都对QJM操作,可能会导致数据有一定的损坏.
当Active挂掉后,FailoverController就会通过zk的投票选出新的NameNode,并使其为Active,选中的NameNode会想QJM获取完需要的日志文件,之后就能启动为新的ActiveNameNode,从而HA.
四:Federation
先来看一幅图.这是federation的架构图
federation指的是可以使用多个与具备HA的NameNode搭建在相同的DataNode环境下,这些NameNode之间相互独立,不会受到影响,因此解决了Name内存不足而导致的任务量少的问题.
为了水平扩展namenode,federation使用了多个独立的namenode/namespace。这些namenode之间是联合的,也就是说,他们之间相互独立且不需要互相协调,各自分工,管理自己的区域。分布式的datanode被用作通用的数据块存储存储设备。每个datanode要向集群中所有的namenode注册,且周期性地向所有namenode发送心跳和块报告,并执行来自所有namenode的命令。
一个block pool由属于同一个namespace的数据块组成,每个datanode可能会存储集群中所有block pool的数据块。
每个block pool内部自治,也就是说各自管理各自的block,不会与其他block pool交流。一个namenode挂掉了,不会影响其他namenode。
某个namenode上的namespace和它对应的block pool一起被称为namespace volume。它是管理的基本单位。当一个namenode/nodespace被删除后,其所有datanode上对应的block pool也会被删除。当集群升级时,每个namespace volume作为一个基本单元进行升级
0 0
- Hadoop2.x之HDFS HA Federation
- 搭建hadoop2.2.0 HDFS,HA / Federation 和 HA&Federation
- 部署hadoop2.7.2 集群 基于zookeeper配置HDFS HA+Federation
- Hadoop 容错之1.X的单点故障 到 2.X的HA和HDFS Federation
- HDFS HA+Federation配置
- HDFS HA系列实验之四:HA+Federation
- hadoop之 Hadoop 2.x HA 、Federation
- hadoop2.x之HDFS
- hadoop2.x新特性HDFS HA、YARN HA,分布式搭建
- HDFS Federation(HDFS 联邦)(hadoop2.3)
- HDFS Federation(HDFS 联邦)(Hadoop2.3)
- Hadoop2的automatic HA+Federation+Yarn
- Ubuntu上使用Hadoop 2.x 十二 HDFS Cluster HA QJM和Federation联合使用
- hdfs的federation以及ha部署说明
- HDFS HA和Federation安装部署方法
- HDFS的Federation以及HA+YARN+ResourceManagerHA
- HDFS再学习:HA和Federation机制
- HDFS HA以及Federation,Zookeeper概述
- JavaScript基础练习题
- 杭电 hdu 1097 找规律
- Spring Data Redis 使用
- MySQL按照汉字的拼音排序
- 前端工作面试问题(上)
- Hadoop2.x之HDFS HA Federation
- 轮播图的实现
- PyGobject(四十四)布局容器之Stack&StackSwitcher
- 好天气
- 2016夏季练习——dp
- 某天想做某事于是...
- FutureTask 源码解析
- Javascript数组中迭代的几种写法
- FutureTask 深度解析