Hadoop详解(五):HDFS HA 和 Federation
1. Hadoop 2.0 产生背景
- Hadoop 1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题
- HDFS存在的问题
- NameNode单点故障,难以应用于在线场景 HA
- NameNode压力过大,且内存受限,影扩展性 Federation
- MapReduce存在的问题响
- JobTracker访问压力大,影响系统扩展性
- 难以支持除MapReduce之外的计算框架,比如Spark、Storm等
2. Hadoop 1.x 和Hadoop 2.x
Hadoop 2.x由HDFS、MapReduce和YARN三个分支构成:
- HDFS:NN Federation(联邦)、HA。2.X:只支持2个节点HA,3.0实现了一主多备
- MapReduce:运行在YARN上的MR;
- 离线计算,基于磁盘I/O计算
- YARN,资源管理系统
2.1 HDFS 2.x
- 解决HDFS 1.0中单点故障和内存受限问题。
- 解决单点故障
- HDFS HA:通过主备NameNode解决
- 如果主NameNode发生故障,则切换到备NameNode上
- 解决内存受限问题
- HDFS Federation(联邦)
- 水平扩展,支持多个NameNode;
- (2)每个NameNode分管一部分目录;
- (1)所有NameNode共享所有DataNode存储资源
- 2.x仅是架构上发生了变化,使用方式不变
- 对HDFS使用者透明
- HDFS 1.x中的命令和API仍可以使用
3. HDFS 2.x Federation(联邦)
通过多个namenode/namespace把元数据的存储和管理分散到多个节点中,使到namenode/namespace可以通过增加机器来进行水平扩展。
能把单个namenode的负载分散到多个节点中,在HDFS数据规模较大的时候不会也降低HDFS的性能。可以通过多个namespace来隔离不同类型的应用,把不同类型应用的HDFS元数据的存储和管理分派到不同的namenode中。
4. HDFS 2.x HA(高可用)
主备NameNode
Hadoop HA主要是解决NameNode单点故障问题,主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换。所有DataNode同时向两个NameNode汇报数据块信息(位置)。并且在Hadoop HA中还含有JNN集群用来存储共享存储状态(shared edits文件)。处于StandyBy节点的NameNode,主要作用是完成了edits.log文件的合并产生新的image,推送回给Active NameNode。该步骤和SecondaryNameNode的备份功能类似,通过这种方式保证了StandyBy节点的NameNode和Actvie NameNode的fsimage文件一致。edit文件通过JNN集群存储共享存储状态,active namenode处理所有的操作请求(读写),读写入到这个共享状态的集群节点。
HDFS HA保持NameNode元数据信息一致,也就是说保持fsimge和edits文件保持一致。fsimge和edits文件在HDFS 格式化之后产生。
Hadoop的元数据主要作用是维护HDFS文件系统中文件和目录相关信息。元数据的存储形式主要有3类:内存镜像、磁盘镜像(FSImage)、日志(EditLog)。在Namenode启动时,会加载磁盘镜像到内存中以进行元数据的管理,存储在NameNode内存;磁盘镜像是某一时刻HDFS的元数据信息的快照,包含所有相关Datanode节点文件块映射关系和命名空间(Namespace)信息,存储在NameNode本地文件系统;日志文件记录client发起的每一次操作信息,即保存所有对文件系统的修改操作,用于定期和磁盘镜像合并成最新镜像,保证NameNode元数据信息的完整,存储在NameNode本地和共享存储系统(QJM)中。
4.1 共享存储(shared edits)
active namenode处理所有的操作请求(读写),standby namenode只同步状态datanode会同时向两个namenode发送block报告和心跳当满足一次checkpoint时,standby namenode进行一次合并操作active NN执行任何命名空间的修改都会持久化到一半以上的journalnodes上而Standby NN负责观察edits log的变化,它能够读取从JNs中读取edits信息,并更新其内部的命名空间一旦Active NN出现故障,Standby NN将会保证从JNs中读出了全部的Edits,然后切换成Active状态一次checkpoint过程
4.2 切换机制
- 手动切换:通过命令实现主备之间的切换,可以用HDFS升级等场合
- 自动切换:基于Zookeeper实现
基于Zookeeper自动切换方案
- ZooKeeper Failover Controller:监控NameNode健康状态,
- 当NameNode启动时,会向Zookeeper注册NameNode
- NameNode挂掉后,ZKFC为NameNode竞争锁,获得ZKFC 锁的NameNode变为active
Hadoop详解(五):HDFS HA 和 Federation相关推荐
- Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用
ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...
- Hadoop详解以及历史版本介绍
Hadoop详解 Hadoop的介绍以及发展历史 Hadoop之父Doug Cutting Hadoop最早起源于lucene下的Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页 ...
- Hadoop生态圈(一)- Hadoop详解
目录 前言 1. Hadoop概述 1.1 Hadoop是什么 1.2 Hadoop发展简史 1.2 Hadoop三大发行版本 1.3 Hadoop优势 1.4 Hadoop的组成 1.4.1 Had ...
- Hadoop详解(十二):Yarn资源调度策略
在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler. FIFO Scheduler FIFO Scheduler把应用 ...
- Masonry自动布局详解五:比例(multipliedBy)
Masonry自动布局详解五:比例(multipliedBy) 标签: iosmasonryautolayout自动布局约束 2015-11-30 16:30 1816人阅读 评论(0) 收藏 举报 ...
- PackageManagerService启动详解(五)之Android包信息体和解析器(中)
PKMS启动详解(五)之Android包信息体和包解析器(中) Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS启动详解(一)之 ...
- Hadoop详解(四):HDFS shell操作和Java API操作
1. HDFS环境准备 1.1 HDFS的格式化与启动 HDFS配置完之后就可以对其进行格式化操作.在NameNode所在机器上执行如下命令进行HDFS的格式化操作: hadoop namenode ...
- Hadoop详解手册.pdf
1 HADOOP背景 1 什么是HADOOP 1. HADOOP是apache旗下的一套开源软件平台 2. HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 ...
- 数据分析之Hadoop详解
1.1 什么是Hadoop - Hadoop的概念: Apache™ Hadoop® 是一个开源的, 可靠的(reliable), 可扩展的(scalable)分布式计算框架 允许使用简单的编程模型跨 ...
最新文章
- 51nod 1381 硬币游戏 概率
- 零基础学python爬虫-零基础如何学爬虫技术?一篇带你入门!(理论+实操+荐书)...
- 学习数据结构和算法前瞻
- 学习环境配置:Manjaro、MSYS2以及常见软件
- 控制计算机价格,本人对电脑不太懂。想十一买台笔记本电脑。价格控制在5000之内。请高手指点一下。谢谢!...
- Swift - 循环强引用,内存泄漏
- python读取raw图片文件_python读取raw binary图片并提取统计信息的实例
- 新买的手机一直没有更新系统,是不是新买的手机原装系统最好用啊?
- 电脑有英伟达独显,有了英伟达显卡驱动还要英特尔显卡驱动吗?
- python中数字转英文_python:将数字转换成用英文表达的程序
- MySQL数据库—SQL汇总
- 孕马血清促性腺激素PMSG的来源及主要功能
- 交换机,路由器接口类型
- ios android与wp,在iOS与Android间选择WP
- 谷歌浏览器无法下载文件
- mstsc远程登录windows服务器
- 《VMware Virtual SAN权威指南》一2.3.6 巨型帧
- 真 OO无双之真乱舞书 序言
- 6666端口,地址访问谷歌浏览器,火狐浏览器限制
- 基于MATLAB的Kmeans聚类算法的仿真与分析