hdfs开机启动流程
第一步:
加载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开机启动流程相关推荐
- RedHat开机启动流程
RedHat 开机启动流程 : 1. LILO 取得控制权. PC 起动时, 会读取开机磁碟第一条 cylinder 的第一个 sector(此即 MBR), 然後它会试着将读取到的程式码载入记忆体中 ...
- (转)CentOS 7系统详细开机启动流程和关机流程
CentOS 7系统详细开机启动流程和关机流程 原文:http://blog.csdn.net/yuesichiu/article/details/51350654 名称 bootup - 系统启动流 ...
- linux系统下开机启动流程
在了解开机启动流程之前,还是得先了解一些磁盘的基本知识.磁盘主要由盘片,机械手臂,磁头,主轴马达构成.盘片就是存储数据的物理单位了.然后盘片上我们可以分成扇区(sector)和柱面(cylinder) ...
- 计算机开机启动流程详解
一.BIOS 1.BIOS是什么 BIOS:基本输入输出系统(Basic Input Output System),它是一组固化到计算机内主板上一个ROM(Read-Only Memory)只读存储器 ...
- Android Q 开机启动流程
https://www.it610.com/article/1304931662924124160.htm Android Q 开机启动流程 开机启动概述: step 1: 上电开机 长按power键 ...
- Linux系统管理-开机启动流程
Linux系统管理-开机启动流程 文章目录 Linux系统管理-开机启动流程 CentoOS6的开机启动流程 CentOS6忘记root密码 Linux的关机指令 CentOS7的开机启动流程 Cen ...
- Android开机启动流程
Android开机启动流程 一.APPS PBL(Application primary boot loader:主引导加载程序) 二.XBL(Extensible boot loader:可扩展引导 ...
- 红帽linux设置自动启动,RedHat开机启动流程
RedHat 开机启动流程 : 1. LILO 取得控制权. PC 起动时, 会读取开机磁碟第一条 cylinder 的第一个 sector(此即 MBR), 然後它会试着将读取到的程式码载入记忆体中 ...
- Linux - 开机启动流程
目录 一.掌握开机启动流程的意义: 1.1 为什么需要了解开机启动流程? 1.2 在日常的运维过程中,是否会遇到机器出现问题启动不了? 1.3 开机启动流程的意义 二.开机启动流程 2.1 开 ...
最新文章
- 计算机组成原理学习1习题1
- windows下的守护进程C++
- Android编译Libwebcore出错解决方法
- python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)
- 使用Excel调用ABAP系统的函数
- Nulgrind:最小的Valgrind工具
- linux下编译libyuv,linux.mk
- python调用函数获取最开始的异常_Python使用sys.exc_info()方法获取异常信息
- MLT-type渲染算法review(笔记)
- 【WPF-HelixToolkit】史陶比尔RX160L 机器人仿真器源码学习
- 对比解析开源云平台:Eucalyptus VS OpenStack
- node下运行js文件实时更新文件变化
- java字符串intern_String中intern方法的使用场景详解
- 机器学习之回归与分类
- Java爬虫 爬取英雄联盟英雄的皮肤图片到本地
- 计算机硬盘一直正在处理,win7电脑快速退出移动硬盘时一直提示设备正在使用中怎么办?...
- 用QUARTUS13.0自带仿真工具进行仿真
- node连接kafka2.0
- c 语言string什么意思,想了解一下,string在c语言中是什么意思?
- 计算机没有网络设备器,没有网络适配器怎么解决 电脑没有网络适配器的解决方法...
热门文章
- 云服务器的带宽是如何计算的?
- linux学习笔记:linux中磁盘管理常用的几个命令
- linux配置svn 报错,linux配置svn全过程及问题解决方案
- Could not find the required component ‘tf2_geometry_msgs‘. The following CMake error indicates that
- vue子组件mounted不执行_vue中父子组件传值,解决钩子函数mounted只运行一次的问题...
- eos操作系统_【EOS币资讯】EOS币与以太坊有什么不同?
- 计算机的软件及功能是什么意思,M1版MacBook能兼容啥软件?超详细的兼容测试
- 计算机硬件格式,排版格式要求_计算机硬件及应用_IT/计算机_资料
- java 判断数字_如何在java中判断一个字符串是否是数字
- linux网络接口数据重新封包,Linux网络之设备接口层:发送数据包流程dev_queue_xmit...