NameNode中的高可用方案
NN中元数据的可靠性是可以保证的,但是其可用性并不高,因为Namenode是单节点的,所以一旦这个节点不能工作,那么整个hdfs都不能工作,但是由于SecondaryNameNode的机制,所以,即便NameNode不能工作,元数据也不会丢失,人为介入之后是可以恢复的,不会导致数据丢失。因此可靠性高不代表可用性也高。因此NameNode的HA方案呼之欲出。
1-能否让两个NN都正常响应客户端请求?
应该让两个NN节点在某一个时间只能有一个响应客户端请求,响应请求的节点必须是Active那一个;
2-standby状态的节点必须能够快速无缝切换到active状态;
意味着两个NN节点必须时刻保持元数据一致;
3-如何监控NN状态
两个NN节点的状态存放在ZK中,另外两个NN节点分别有一个进程监控程序,实施读取ZK中有NN的状态,来判断当前的NN是不是已经down机。如果standby的NN节点的ZKFC发现主节点已经挂掉,那么就会强制给原本的active NN节点发送强制关闭请求,之后将备用的NN设置为active
Hadoop为NN提供的HA机制如下图所示:
ZKFC负责NN的Acitive切换
上图中一组NN(active和standby节点)称为一个federation,可以多组federation独立运行。
hdfs://ns1/aa/bb
hdfs://ns2/aa/bb
NameNode中的高可用方案的更多相关文章
- MySQL高可用方案
高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法 ...
- Sentinel-Redis高可用方案(一):主从复制
引言 大概是因为Redis是个人开发的产品,所以Redis的高可用方案是被分成了几块来实现:主从复制.主从切换以及虚拟IP或客户端方案. 从Redis 2.8开始加入对Sentinel机制从而实现了服 ...
- mysql高可用方案总结性说明
MySQL的各种高可用方案,大多是基于以下几种基础来部署的(也可参考:Mysql优化系列(0)--总结性梳理 该文后面有提到)1)基于主从复制:2)基于Galera协议(PXC):3)基于NDB引 ...
- 大型网站系统架构实践(五)深入探讨web应用高可用方案
从上篇文章到这篇文章,中间用了一段时间准备,主要是想把东西讲透,同时希望大家给与一些批评和建议,这样我才能有所进步,也希望喜欢我文章的朋友,给个赞,这样我才能更有激情,呵呵. 由于本篇要写的内容有点多 ...
- [转载] MySQL高可用方案选型参考
原文: http://imysql.com/2015/09/14/solutions-of-mysql-ha.shtml?hmsr=toutiao.io&utm_medium=toutiao. ...
- 分布式数据存储 - MySQL主从复制高可用方案
前面几篇文章说道MySQL数据库的高可用方案主从复制.主从复制的延迟产生原因.延迟检测及延迟解决方案(并未从根本上解决),这种主从复制方案保证数据的冗余的同时可以做读写分离来分担系统压力但是并非是高可 ...
- (转)基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案
转载自:http://warm-breeze.iteye.com/blog/2020413 本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedi ...
- mysql高可用方案MHA介绍
mysql高可用方案MHA介绍 概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10-30秒内),完成故障切换,部署MHA, ...
- mysql 高可用方案MHA介绍
概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10—30秒内),完成故障切换,部署MHA,可避免主从一致性问题,节约购买新 ...
随机推荐
- Windows系统appium移动端自动化真机环境搭建
appium-windows-android环境搭建完成以后,就可以进行真机模式下的appium环境搭建啦!! 准备:把要测试的app下载至本机(小波的是把apk放在桌面上,例如:C:\Users\w ...
- @Autowired 引发的一系列思考
关于Java注解 注解定义 标记注解 - 没有元素 @interface Marker { } 单元素注解 - 只有一个元素 @interface Single { String value() de ...
- day61 django入门(2)
目录 一.数据的查.改.删 1 查 2 改 3 删 二.django orm中如何创建表关系 三.django请求生命周期流程图 四.路由层 1 无名分组 2 有名分组 3 两种分组不能混用,单个可以 ...
- HTB::OpenAdmin
实验环境 渗透过程 0x01 信息搜集 sudo nmap -sS -p1-10000 -sV -sC -T4 10.10.10.171 开放了22(SSH)端口和80(HTTP)端口 访问80端口, ...
- 2020软件测试自学全套教程-基于python自动化软件测试-2020新版软件测试中级程序员学习路线
不知不觉间,在软件测试行业野蛮的折腾了七年之久.七年之痒也即将过去,但我还是热爱着软件测试这一份工作,一路坚持,走到现在.经历过各种难题,有过迷茫,有过焦虑失眠.也踩过无数的坑,深知行业的不易.自从9 ...
- clang-format的介绍和使用
目录 参考信息 介绍 安装 命令格式 基本使用 使用.clang-format来实现自定义格式化 导出.clang-format文件 使用.clang-format文件 .clang-format配置 ...
- 使用 forever 启动 vue 需要注意的问题
forever 是 nodejs 生态中一个用来永久挂起一个应用(当这个应用崩溃时能自己重启)的应用(库). 但用他启动vue的时候必须注意一个问题: 在哪个路径启动vue,就在哪个路径启动forev ...
- Windows搭建Redis集群-详细教程
一.集群知识 1.集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 2.使用redis集群的必要性 问题:我们已经部署好了redis,并且能启动 ...
- three.js 数学方法之Box3
从今天开始郭先生就会说一下three.js 的一些数学方法了,像Box3.Plane.Vector3.Matrix3.Matrix4当然还有欧拉角和四元数.今天说一说three.js的Box3方法(B ...
- Shell基本语法---处理海量数据的awk命令
awk命令 其实是一门编程语言,支持条件判断,数组,循环等功能,与grep,sed被称为linux三剑客 之所以叫AWK是因为取其三位创始人 Alfred Aho,Peter Weinberger, ...