NN–NameNode

  • NN负责对HDFS上的元数据进行整理
  • 在NN上存放了两份重要信息:1.文件由哪些块组成、2.每个块存在哪个位置
  • 除此之外还有一些非关键信息:文件名、上传者、上传时间
  • 元数据在磁盘中存储在fsimage中

NN的持久化

  • NN负责整个HDFS的负载,当客户端对数据进行写操作时候会产生元数据,导致元数据不断增加,存在丢失风险,所以需要对NN中的元数据进行持久化
  • 存在着两种持久化的方法:
    1. 将所有的写操作记录下来,形成日志文件
    2. 将当前内存内存的数据形成一个快照
  • 日志文件持久化方法存储速度快,但恢复速度很慢,因为要将日志文件中的所有操作重新执行一遍
  • 快照方法如果内存中的数据越来越多,会导致镜像越来越大。在运行之间持久化的话,NN可能会瘫痪

2NN–SecondaryNamenode

  • 可以借助2NN对NN进行部分恢复
  • 但是在HDFS中NN和2NN是两种不同的进程,2NN只能起到辅助作用,不能代替NN

使用2NN对NN进行部分数据恢复

  • 将2NN,namesecondary中的current复制到NN下的name下就行

DN–DataNode

  • 数据节点,主要用来读写文件的数据块。
  • 在其中主要存储的是数据块和数据块校验

DN的启动

  • DN启动时首先向NN根据clusterID进行注册
  • 注册成功后每一小时上报所有块的信息
  • 然后DN需要每隔3s去ping一下NN,如果NN10分钟没有接到DN的心跳,则认为DN坏了

JN–JournalNode

  • 用于NN之间共享数据
  • 两个NN之间为了通信,会通过一组名称为JournalNode的独立进程进行通信,当active状态的NN命名空间有任何修改时,会告知大部分的JN进程,standby状态的NN有能力读取JNs的变更信息,并且一直监控editlog的变化,并把变化应用于自己的命名空间,。
  • standby可以确保在集群出错时,命名空间状态已经完全同步了

activc状态的NN和standby状态的NN

  • 一个集群中可以有两个NN,一个处于active状态,一个处于standby状态
  • activc状态的NN提供服务。standby状态的NN处于休眠状态,只进行数据同步,时刻准备提供服务
  • 在一个典型的HA集群中,每个NameNode都是一台独立的服务器。在任一时刻,只有一个NameNode处于active状态,另一个处于standby状态。其中,active状态的NameNode负责所有的客户端操作,standby状态的NameNode处于从属地位,维护着数据状态,随时准备切换。
  • 为了确保快速切换,standby状态的NN也有必要知道集群中数据块的位置。所以所有的DN都必须配置两个NN的地址,发送数据块信息和心跳给两个NN

两个NN(active、standby)分别对JN进行读写数据

对于HA集群而言,确保同一时刻只有一个NameNode处于active状态是至关重要的。否则,两个NameNode的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。为了保证这点,JNs必须确保同一时刻只有一个NameNode可以向自己写数据

  • active状态的NN向JN写数据,处于standby状态的NN从JN读数据

NN、DN、2NN、JN相关推荐

  1. OpenLDAP、什么是目录服务、OpenLDAP简介、LDAP的基本模型、目录树概念、(DC、UID、OU、CN、SN、DN、RDN、c、o)、LDAP的使用

    2.OpenLDAP 2.1.什么是目录服务 2.2.OpenLDAP简介 2.3.LDAP的基本模型 2.3.1.目录树概念 2.3.2.DC.UID.OU.CN.SN.DN.RDN.c.o 2.4 ...

  2. 大数据疫情可视化平台1_基于Hadoop3.2.1、Hive3.1.2、搭建疫情信息可视化系统

    前言 项目效果展示 项目源码免费获得请私信博主,绝对免费! 目录 Linux基础命令:往期博客Linux课堂篇3_Linux目录结构.快捷键.常用基础命令 Hadoop3.2.1介绍与环境搭建 Hiv ...

  3. Hadoop基础【HDFS、Yarn、MapReduce框架概述、框架的搭建】

    1.Hadoop是什么 是一个由Apache基金会所开发的分布式系统基础架构:主要解决海量数据的存储和海量数据的分析计算问题:hadoop通常是指一个更加宽泛的概念,Hadoop生态圈. 最先遇到大数 ...

  4. HDFS High Availability(HA)高可用、单点故障、主备集群、脑裂问题、数据同步问题、HDFS HA解决方案—QJM

    HDFS High Availability(HA)高可用 1.1 High Availability背景知识 1.1.1 单点故障.高可用 单点故障(英语:single point of failu ...

  5. HDFS(下):NameNode和SecondaryNameNode、HDFS工作机制、故障处理、集群安全模式、服役退役节点、集群黑白名单、DataNode多目录详解、HDFS2.x新特性

    接上篇,上篇文章传送门:HDFS(上):HDFS优缺点.HDFS操作.HDFS客户端操作.HDFS的API.HDFS数据流.HDFS的IO流.HDFS读写数据流程.HDFS文件处理详解.windows ...

  6. 冒泡、快速、选择、插入排序以及时间复杂度、空间复杂度的解析

    冒泡.快速.选择.插入排序以及时间复杂度.空间复杂度的解析 时间复杂度 时间复杂度的表示方法 时间复杂度的分析和计算方法 常见的几种时间复杂度 常见的时间复杂度排序 空间复杂度 时间复杂度的分析和计算 ...

  7. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练

    计图(Jittor) 1.1版本:新增骨干网络.JIT功能升级.支持多卡训练 深度学习框架-计图(Jittor),Jittor的新版本V1.1上线了.主要变化包括: • 增加了大量骨干网络的支持,增强 ...

  8. 【camera】全景驾驶感知网络YOLOP部署与实现(交通目标检测、可驾驶区域分割、车道线检测)

    全景驾驶感知网络YOLOP部署与实现(交通目标检测.可驾驶区域分割.车道线检测) 项目下载地址 包含C++和Python两种版本的程序实现:下载地址 YOLOP开源项目: https://github ...

  9. PyTorch 1.6、TensorFlow 2.3、Pandas 1.1同日发布!都有哪些新特性?

    作者 | 肖智清 出品 | AI科技大本营(ID:rgznai100) 7月29日,PyTorch 1.6.TenorFlow 2.3.Pandas 1.1恰巧同时发布.这三个库都是定期滚动更新,大约 ...

最新文章

  1. systemtap mysql_使用systemtap调试工具分析MySQL的性能
  2. 初识github之注册和基本概念
  3. python时域信号特征提取(各种因子)
  4. [转]VS2005中的代码视图显示行数
  5. 移动端双Token免登录(附代码)
  6. html提交表单原理,HTML5之Form 表单理论
  7. 学术会议html模板,学术会议poster模板
  8. 如何在服务器上上传手游源码,【仙变3手游】跨服服务端游戏源码+架设教程+双端+后台...
  9. 关于大学生创新创业项目赛事汇总
  10. Emeditor -- windows最强txt编辑器,没有之一
  11. java实现数组的奇偶数互换
  12. VUE + Element-ui 按住Shift实现多选
  13. 阿里旺旺登陆提示超时
  14. 初学Java常用设计模式之——原型模式
  15. SAP的SYSTEM的函数列表和代码示例
  16. redis 查看的版本
  17. TensorFlow Lite编译Android so库
  18. 无法访问指定计算机,电脑打开磁盘/程序/文件时提示Windows无法访问指定设备、路径或文件怎么办...
  19. 稳压电源如何操作使用
  20. Java仿QQ客户端(用JTree实现好友列表)

热门文章

  1. Orin 调试GMSL camera 96712手册重点
  2. XSS-labs靶场通关秘籍(level 17-20)
  3. Xshell/Xftp个人完全免费版(功能与收费版完全相同)
  4. 按键消抖+点亮led灯
  5. 一些ps会遇到的问题
  6. C++继承和派生笔记
  7. 大数据专业应该怎么学习
  8. 运用JAVA开发安卓程序
  9. C语言课程设计-满分作业
  10. Git分支 查看branch 创建 切换checkout 合并merge(先切回主分支) 删除branch -d 推送push