博客
关于我
hdfs开机启动流程
阅读量:651 次
发布时间:2019-03-15

本文共 660 字,大约阅读时间需要 2 分钟。

HDFS namenode操作流程及安全模式说明

第一步:加载name目录下最新的fsimage_xxx019文件,将其目录树结构维护至内存(此处尚未处于关机前的最终状态)。

第二步:处理edits_inprogress_xxxx0160文件,将其重命名为edits_0000000000000000160-0000000000000000169,并生成新的edit文件edits_inprogress_xxx170,同时更新seen_txid为170。随后,将文件范围内的edit日志文件加载至内存,通过重放操作维护最新目录树结构。

第三步:如果触发了检查点条件,namenode将会自行执行检查点操作,将内存中的最新状态持久化为新fsimage文件,并删除之前保留的最旧fsimage文件。具体而言,namenode始终保留两份相近的fsimage文件作为备份。

关于安全模式:整个过程从启动到退出均处于安全模式。在namenode收到datanode的心跳反馈且达到或超过99.9%的块数时,安全模式将退出。需要注意的是,集群首次启动时,此时编辑文件尚未生成,因此不会出现安全模式。

为什么客户端的访问操作不直接存储至fsimage?

这是因为随着时间推移,fsimage文件会不断增长(虽然并非绝对增长,但相对于总量而言)。不将访问操作直接存储至fsimage可避免性能瓶颈。我们通过生成edit文件分批存储访问数据,edit文件最大尺寸为64M。一旦达到此上限,系统即会新生成一个edit文件,以确保操作性能。

转载地址:http://qasmz.baihongyu.com/

你可能感兴趣的文章
21-JS中常见的函数
查看>>
Android多线程与双缓冲
查看>>
MVVM_Template
查看>>
Bugku CTF web29(Web)
查看>>
网络+图片加载框架(英文版)
查看>>
扣非净利润连续三年亏损,四维图新如何熬过“转型阵痛期”?
查看>>
Python imageio方法示例
查看>>
Possible missing firmware
查看>>
算法的学习方式
查看>>
JAVA BigInteger和BigDecimal类常用方式
查看>>
深度学习框架 各种模型下载集合 -- models list
查看>>
six.move 的作用
查看>>
错误:'BasicLSTMCell' object has no attribute '_kernel'
查看>>
机器学习全教程
查看>>
idea在连接mysql数据库时区错误
查看>>
2021-05-14
查看>>
Kali-linux:nmap命令
查看>>
php端口直驱网络打印机,能自定义格式
查看>>
s3c2440 ads程序移植到keil中(一) 初步完成
查看>>
工程经济—建设工程定额
查看>>