hdfs深入:05、hdfs中的fsimage和edits的合并过程
6.4、secondarynameNode如何辅助管理FSImage与Edits文件
①:secnonaryNN通知NameNode切换editlog
②:secondaryNN从NameNode中获得FSImage和editlog(通过http方式)
③:secondaryNN将FSImage载入内存,然后开始合并editlog,合并之后成为新的fsimage
④:secondaryNN将新的fsimage发回给NameNode
⑤:NameNode用新的fsimage替换旧的fsimage
完成合并的是secondarynamenode,会请求namenode停止使用edits,暂时将新写操作放入一个新的文件中(edits.new)。secondarynamenode从namenode中通过http get获得edits,因为要和fsimage合并,所以也是通过http get 的方式把fsimage加载到内存,然后逐一执行具体对文件系统的操作,与fsimage合并,生成新的fsimage,然后把fsimage发送给namenode,通过http post的方式。namenode从secondarynamenode获得了fsimage后会把原有的fsimage替换为新的fsimage,把edits.new变成edits。同时会更新fstime。
hadoop进入安全模式时需要管理员使用dfsadmin的save namespace来创建新的检查点。
secondarynamenode在合并edits和fsimage时需要消耗的内存和namenode差不多,所以一般把namenode和secondarynamenode放在不同的机器上。
fs.checkpoint.period: 默认是一个小时(3600s)
fs.checkpoint.size: edits达到一定大小时也会触发合并(默认64M)
最新文章
- 【TextBox】重写右键菜单
- 修复SharePoint 2013 Search 拓扑错误
- ios app 实现热更新(无需发新版本实现app添加新功能)
- asp.net MVC ViewData详解
- Debug program crash with dump file.
- 201521123037 《Java程序设计》第13周学习总结
- 微信小程序基础之表单Form的使用
- configparser_配置解析器
- golang命令行库cobra使用
- Linux系统查看本机ip地址
- python零碎知识点
- CS190.1x-ML_lab3_linear_reg_student
- Javascript - 表达式与语句
- P3498 [POI2010]KOR-Beads
- NetCore偶尔有用篇:NetCore项目发布为Nuget包
- Linux-文件目录命令
- Restful 接口传递参数
- Linux环境进程间通信(一)
- iOS侧面加shadow
- [USACO06NOV]玉米田Corn Fields
热门文章
- 协议森林02 小喇叭开始广播 (以太网与WiFi协议)
- 转3xian之所在 (一位ACM大牛的博文)
- bzoj 1742: [Usaco2005 nov]Grazing on the Run 边跑边吃草【区间dp】
- Oracle - RMAN备份 之 incarnation的实验和小结
- bind:Address alreasy is use
- bind: Invalid argument
- PHP简单实现单点登录功能示例
- 【react native】rn踩坑实践——从输入框“们”开始
- SwipeLayou与ScrollerView滑动冲突
- 配置Ubuntu16.04第03步:安装搜狗输入法