1. 解决hdfs单点故障问题的方法

HDFS HA:通过主备NameNode解决 一个集群中只能有一个NameNode处于工作状态 当主NameNode发送故障 则切换到备NameNode上(NameNode的两大功能:接收客户端的读写请求 存储元数据 )

整个集群在输入hdfs namenode -format时 产生元数据 此时hdfs集群还没有启动 主NameNode会格式化产生(初始化)fsimage 而备NameNode则不会产生fsimage 因为如果两个都格式化产生fsimage的话 由于环境和系统时间的不同fsimage一定会不同 从而导致主NameNode在发生故障时备NameNode无法接管 正确的情况应该是在主NameNode格式化后备NameNode把主NameNode的fsimage拷贝过来 以保证初始化时两个NameNode的元数据一模一样 为以后的成功接管提供条件

edits文件在客户端对hdfs进行操作时产生 当有元数据的增删改查日志产生时 它会直接保存到一个内部的集群中 称之为JournalNode 一般会有2个或3个以上的副本 同时fsimage文件和edits文件的合并工作也由JournalNode完成 主NameNode(Active)挂了之后 备NameNode(Standby)接管后 会同样会把日志保存到JournalNode中

JournalNode在合并fsimage和edits文件以更新fsimage文件时 需要同时合并两个NameNode的fsimage 从而保证瞬间实现接管

DataNode在启动的时候 会向两个NameNode汇报block的位置信息 从而保证瞬间实现接管

备NameNode与主NameNode相比 仅仅少了接收客户端读写请求的工作 其他的一模一样 因为内存中的元数据来源于hdfs在启动时从磁盘读入的fsimage 初始化时 两台NameNode上的fsimage是一模一样的 因此在启动之初 两个NameNode加载到内存中的元数据是一模一样的 DataNode在启动的时候 向两个NameNode汇报block的位置信息以元数据的形式存在于两个NameNode的内存中 因此两个NameNode中的元数据是又是一模一样的 edits文件保存在共享的集群中 和fsimage合并后也是一样的

备NameNode在接管主NameNode时 只要正常接收客户端的读写请求功能即可 因此可以实现瞬间接管

接管的先决条件是 两台NameNode上的元数据一模一样

2. 解决hdfs内存受限问题的方法

为什么会出现内存受限:当数据量太大时 NameNode中元数据占用的空间也会很大 内存太小 不足以保存

国内大部分公司的解决方法:加集群 即根据业务的不同 使用多个集群分别存储 同一个业务 如果数据量过大 也可以根据时间的不同 使用多个集群分别存储

官方提供的解决方法:HDFS Federation(联邦)

它可以水平扩展 支持多个NameNode 每个NameNode分管一部分目录 所有DataNode共享所有NameNode的资源

hdfs单点故障和内存受限问题相关推荐

  1. java基础巩固-宇宙第一AiYWM:为了维持生计,大数据Hadoop之HDFS分布式文件系统(HDFS读写流程、主从集群两种问题“单点故障”及“压力过大内存受限”、HDFS的架构设计)~整起

    Hadoop之HDFS 目录 一.大数据 二.HADOOP 三.HDFS 1.HDFS基本概念 2.HDFS的架构设计 3.HDFS自己对于上面两种数据持久化技术的实现: 4.HDFS读写流程 5.H ...

  2. Hadoop解决内存受限问题

    因为NameNode的数据需要加载到内存里,随着数据越来越大,内存会不够用出现内存受限问题. 解决方法: 官网:hdfs联邦    http://blog.csdn.net/zengmingen/ar ...

  3. HDFS的NameNode内存解析

    概述 从整个HDFS系统架构上看,NameNode是其中最重要.最复杂也是最容易出现问题的地方,而且一旦NameNode出现故障,整个Hadoop集群就将处于不可服务的状态,同时随着数据规模和集群规模 ...

  4. CDH集群中HDFS单点故障解决方案:HA模式(High Availability)

    CDH集群开发HDFS的High Avaliability模式 Step1 什么是单点故障? Step2 HDFS为什么会出现单点故障?它是怎么解决的? Step3 开启HDFS的高可用(High A ...

  5. [hadoop3.x]HDFS中的内存存储支持(七)概述

    我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励. 2021年「博客之星」参赛博主:Maynor大数据 (感谢礼品.红包免费送!) https://bbs.csdn.ne ...

  6. 内存受限系统如何实现日出日落算法

    如题,前段时间应对客户需求,在芯片上增加一些功能,发现芯片空间即满,为了能够把新功能加进去,进行了代码的重新优化,发现之前的天文时钟代码占用空间比较大,所以从这个入手,天文时钟的计算方法如下,标准库函 ...

  7. Hadoop详解(五):HDFS HA 和 Federation

    1. Hadoop 2.0 产生背景 Hadoop 1.0中HDFS和MapReduce在高可用.扩展性等方面存在问题 HDFS存在的问题 NameNode单点故障,难以应用于在线场景 HA Name ...

  8. 分布式文件系统HDFS实践及原理详解part3

    HDFS原理 说明:3.5开头目录是因为和上篇文章内容同属一章,所以开头使用了3.5 3.5 HDFS核心设计 3.5.1 心跳机制 1. Hadoop 是 Master/Slave 结构,Maste ...

  9. hdfs HA + MR HA

    Hodoop1.x 到 Hadoop2.x 1.Hadoop 1.x 存在的问题: – HDFS存在的问题 • NameNode单点故障,难以应用于在线场景 • NameNode压力过大,且内存受限, ...

最新文章

  1. 一篇文看懂Hadoop
  2. Spring起步(一)Building a RESTful Web Service
  3. 求两个有序数组的中位数或者第k小元素
  4. 模型训练速度过慢,GPU利用率低
  5. 每个程序猿必读的10篇文章
  6. Java EE 规范重命名为 Jakarta EE
  7. hive中导入csv,本地CSV导入hive表
  8. 腾讯广告算法大赛 | 初赛第一名心得分享
  9. 高级网络营销师黄杰告诉你:怎样建网站?网站建设只需三步
  10. Ajax请求URL后加随机数原理
  11. ISO50001认证辅导,体系要求组织建立能源管理基准、标杆以及目标指标,对节能效果进行量化
  12. 【352】矩阵转置性质
  13. 【信息系统项目管理师】信息系统项目管理师计算题汇总
  14. 嵌入式实践教程--Android HAL自定义HAL代码教程
  15. 如何自建微信外卖平台_如何建立微信点餐平台 微信小程序外卖怎么做
  16. 清华胡宇迪教授谈关于爱情、关于伴侣、关于承诺、关于人生、关于友情、关于微笑、关于生活、关于幸福...
  17. jsoup爬取豆瓣电影top250
  18. UTC时间与北京时间相互转换
  19. PYTHON 画一支圆珠笔
  20. 学习前端如何建立自己的知识体系?工作中如何快速进阶?

热门文章

  1. go语言学习:语言简介
  2. 【HTML】实现腾讯H5地图定位
  3. windows/dos 命令
  4. 9.查找算法--二叉排序树
  5. picker多选 vant_Vant picker 多级联动操作
  6. Xshell个人家庭免费版
  7. python 三维数据绘制等高线_python密度与等高线绘制,Python,和,轮廓图,Matplotlib,详解...
  8. 011 MySQL性能分析
  9. ZCMU--5066: 黑暗长廊
  10. 苹果发布无线充新专利,苹果Find My技术成为近几年苹果的重要创新