第一步:
加载name目录下最新的那个fsimage_xxx019文件,将里面存储的元数据(目录树结构)维护到内存中,但是还不是关机前的状态
第二步:
将关机前的最后使用的edits_inprogress_xxxx0160进行重命名
edits_0000000000000000160-0000000000000000169操作,然后生成一个最新的edits_inprogress_xxx170文件,并修改seen_txid里的值为170.
将从xxx020~xxx169的这个范围内的所有的edit日志文件加载到内存中,重演里面的操作,从而维护成关机前的最新的目录树结构
第三步
如果触发了检查点条件,namenode就会自己做一个检查点。将内存中的最新状态持久化成一个新的fsimage文件,删除之前保留的两份中的最旧那个。 也就是说namenode会保留最近两次的fsimage.

安全模式:

从启动到结束,整个过程处于安全模式下。当namenode收到datanode的心跳反馈时,并且达到块数量的99.9%时,会退出安全模式。

注意:当集群第一次开机时,edit文件才生成,而且datanode上还没有块,因此不会出现安全模式。

扩展:为什么客户端的访问操作不直接存储到fsimage里
因为fsimage会随着时间会越来越大(相对而已,不是绝对的,因为有的时候会有删除操作)
直接将访问操作存入fsimage中,性能会非常差。
反而我们提供了edit文件,用于存储客户端的访问,edit文件最大是64M,当达到此值,会新生成一个edit文件来存储新的访问数据。

hdfs开机启动流程相关推荐

  1. RedHat开机启动流程

    RedHat 开机启动流程 : 1. LILO 取得控制权. PC 起动时, 会读取开机磁碟第一条 cylinder 的第一个 sector(此即 MBR), 然後它会试着将读取到的程式码载入记忆体中 ...

  2. (转)CentOS 7系统详细开机启动流程和关机流程

    CentOS 7系统详细开机启动流程和关机流程 原文:http://blog.csdn.net/yuesichiu/article/details/51350654 名称 bootup - 系统启动流 ...

  3. linux系统下开机启动流程

    在了解开机启动流程之前,还是得先了解一些磁盘的基本知识.磁盘主要由盘片,机械手臂,磁头,主轴马达构成.盘片就是存储数据的物理单位了.然后盘片上我们可以分成扇区(sector)和柱面(cylinder) ...

  4. 计算机开机启动流程详解

    一.BIOS 1.BIOS是什么 BIOS:基本输入输出系统(Basic Input Output System),它是一组固化到计算机内主板上一个ROM(Read-Only Memory)只读存储器 ...

  5. Android Q 开机启动流程

    https://www.it610.com/article/1304931662924124160.htm Android Q 开机启动流程 开机启动概述: step 1: 上电开机 长按power键 ...

  6. Linux系统管理-开机启动流程

    Linux系统管理-开机启动流程 文章目录 Linux系统管理-开机启动流程 CentoOS6的开机启动流程 CentOS6忘记root密码 Linux的关机指令 CentOS7的开机启动流程 Cen ...

  7. Android开机启动流程

    Android开机启动流程 一.APPS PBL(Application primary boot loader:主引导加载程序) 二.XBL(Extensible boot loader:可扩展引导 ...

  8. 红帽linux设置自动启动,RedHat开机启动流程

    RedHat 开机启动流程 : 1. LILO 取得控制权. PC 起动时, 会读取开机磁碟第一条 cylinder 的第一个 sector(此即 MBR), 然後它会试着将读取到的程式码载入记忆体中 ...

  9. Linux - 开机启动流程

    目录 一.掌握开机启动流程的意义: 1.1  为什么需要了解开机启动流程? 1.2  在日常的运维过程中,是否会遇到机器出现问题启动不了? 1.3  开机启动流程的意义 二.开机启动流程 2.1  开 ...

最新文章

  1. 计算机组成原理学习1习题1
  2. windows下的守护进程C++
  3. Android编译Libwebcore出错解决方法
  4. python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)
  5. 使用Excel调用ABAP系统的函数
  6. Nulgrind:最小的Valgrind工具
  7. linux下编译libyuv,linux.mk
  8. python调用函数获取最开始的异常_Python使用sys.exc_info()方法获取异常信息
  9. MLT-type渲染算法review(笔记)
  10. 【WPF-HelixToolkit】史陶比尔RX160L 机器人仿真器源码学习
  11. 对比解析开源云平台:Eucalyptus VS OpenStack
  12. node下运行js文件实时更新文件变化
  13. java字符串intern_String中intern方法的使用场景详解
  14. 机器学习之回归与分类
  15. Java爬虫 爬取英雄联盟英雄的皮肤图片到本地
  16. 计算机硬盘一直正在处理,win7电脑快速退出移动硬盘时一直提示设备正在使用中怎么办?...
  17. 用QUARTUS13.0自带仿真工具进行仿真
  18. node连接kafka2.0
  19. c 语言string什么意思,想了解一下,string在c语言中是什么意思?
  20. 计算机没有网络设备器,没有网络适配器怎么解决 电脑没有网络适配器的解决方法...

热门文章

  1. 云服务器的带宽是如何计算的?
  2. linux学习笔记:linux中磁盘管理常用的几个命令
  3. linux配置svn 报错,linux配置svn全过程及问题解决方案
  4. Could not find the required component ‘tf2_geometry_msgs‘. The following CMake error indicates that
  5. vue子组件mounted不执行_vue中父子组件传值,解决钩子函数mounted只运行一次的问题...
  6. eos操作系统_【EOS币资讯】EOS币与以太坊有什么不同?
  7. 计算机的软件及功能是什么意思,M1版MacBook能兼容啥软件?超详细的兼容测试
  8. 计算机硬件格式,排版格式要求_计算机硬件及应用_IT/计算机_资料
  9. java 判断数字_如何在java中判断一个字符串是否是数字
  10. linux网络接口数据重新封包,Linux网络之设备接口层:发送数据包流程dev_queue_xmit...