HAHadoop架构分析 (高可用 Hadoop架构)

news/2024/5/20 1:12:41 标签: hadoop, hdfs, 大数据, 分布式

在这里插入图片描述

1.NameNode单点故障

概念:如果NN主机宕机,导致整个HDFS集群中所有节点全部停止工作。
解决思路:为NameNode主机提供一个NameNode备机。

方法
1.实时监控NameNode11宕机
2.发现NameNode11宕机,触发一段操作。启动NameNode12备机,接管HDFS管理。

方案
Hadoop2版本提供ZKFC,基于zk实现的故障转移程序,本质上是zk的一个客户端程序。
1:启动本级namenode,像zk注册节点znode。
2:监听该节点znode变化。
3:防止nn主机假死,远程登录nn原主节点ssh hadoop11,杀死nn。killall命令。

注意

①.需要免密登录

②.需要安装psmisc

补充:如果zk认为NN11宕机,启动NN12为主机后,无论NN11是否宕机,都会执行一段代码,杀死NN11。

2.NameNode备机空闲+NameNode备机转主机没有元数据。

概念:NN主机宕机,NN备机转主机,缺少元数据信息。
解决
1.NameNode12备机,充当SecondaryNameNode的职责。
2.Hadoop提供QJM(quarum journal node),基于zk实现的分布式文件共享(同步)系统。

3.NameNode主备自动转换,客户端无法知晓入口地址

解决方案
1.java客户端访问HDFS的入口不能写死任何一个NN入口地址,写虚拟ip入口地址。
2.在服务器端配置,NN11主机和NN12备机的ip地址挂载虚拟ip节点之下。
3.客户端通过虚拟ip读取到真正的ip是谁,取决于当时NameNode的主机是谁。

4.ResourceManager单点故障

基于zk实现ResourceManager的故障转移切换机制


http://www.niftyadmin.cn/n/1854911.html

相关文章

nginx https配置后无法访问,可能防火墙在捣鬼

转自 http://blog.csdn.net/sinat_21302587/article/details/53641100 同事发现nginx配置后https 无法访问,我帮忙解决的时候从以下出发点 1.防火墙未开放443端口 2.配置出错于是就 netstat -anp 查看防火墙开的端口 发现已经在监听了,那肯定是配置问题…

python笔记_01_打开文件读取一行的最好方法

对打开的文件按行进行读取操作: file open(filename.txt) 1. file.readline() 此方法执行效率太慢 2. .file.readlines() 此方法一次读取整个文件,并按行放入内存列表. 对大文件操作内存会成为瓶颈 3. 最好的方法是直接for循环文件对象本身 file open(filename.txt,r,encodi…

Zookeeper 选举机制之投票流程

流程分析: 1.只有启动了的zk节点才能参与投票。 (启动后才能进行投票网络通信) 2.当zk节点A启动时,它接受投票的时候,每个zk服务启动,接受一轮对自己的投票。 (会提前给每个zk节点发放票据&…

Hive中 HQL高级介绍及用法

SQL关键词执行顺序 from>where条件>group by>having条件>select>order by>limit 注意:一旦slq出现group by,后续的关键词能够操作的字段只有(分组依据字段,组函数处理结果) 常见步骤: 0…

HDU 不容易系列之一 错排公式

Problem Description 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了! 做好“一件”事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一…

Hive中表分类概念介绍

表分类 – 由Hive全权管理的表 所谓的管理表指的是hive是否具备数据的管理权限,如果该表是管理表,当用户删除表的同时hive也会将表内对应的数据删除,因此在生产环境下,为了防止误操作,带来数据损失,一般考…

Flume概念与其组件的分析和使用 (超详细)

概述 1.Flume的定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。 Flume最主要的作用是,实时读取服务器本地磁盘的数据,将数据写入到HDFS。 …

获取时间和获取父节点子节点属性

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script type"text/javascript"> // window.οnlοadfunction(){ // var a document.getElementById("bbb"); // console…