博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于namenode的那些事
阅读量:7223 次
发布时间:2019-06-29

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

hot3.png

1.namenode简介

2.namenode工作特点

3.namenode工作原理

3.1.切换edits

产生一个新的edits文件

3.2.获取数据:

fsimageedits获取到,加载到内存(通过http协议),fsimage保存最新的checkpoint(检查点)信息

edits保存最新的检查点后的命名变化,也就是产生新的edits文件

3.3合并:

fsimageedits合并,这个工作由secondarynamenode完成

通常在合并之前会触发条件(1.当文件超过edits设置的默认值2.两次checkpointcore-site.xml)的时间间隔,默认

3600秒,1个小时),触发一个则secondarynamenode就会去合并

3.4.推送:

将合并后的文件推送给namenode

3.5.替换:

将新的合并的文件替换掉旧文件

假如客户端上传到hdfs两个文件,一段时间后,edits将不存在两个文件,因为edits每次在checkpoint时都会生成新

的,这些文件存放在fsimage中,当在上传一个文件时,这个文件存在于edits中,不存在fsimage中,这时在合并时会

合并为三个文件交给namenode去管理

4.namenode的容错: 

所有的文件访问都要通过NameNode来进行,所以NameNode至关重要。一旦NameNode发生毁坏,则整个系统都

不可用。HDFS提供了两种容错机制来保证NameNode的可用性:1第一种方法是把文件元数据写入NFS,备份在另

一台机器上。备份操作是同步的,原子的。2第二种方法是运行辅助的NameNode,不过这个NameNode并不提供服

务,它只是把操作日志MergeMetadata中,但是如果主NameNode失效,总是有一部分数据来不及Merge,会造

成数据丢失。所以一般的做法还是把NFS中备份的数据拷贝到这个NameNode,并作为主NameNode运行。

转载于:https://my.oschina.net/lzhaoqiang/blog/547643

你可能感兴趣的文章
web开发经验
查看>>
Android 使用DDMS查看内存使用情况
查看>>
大数据等最核心的关键技术:32个算法
查看>>
玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-1导入JavaScript插件
查看>>
Vue.js系列之三模板语法
查看>>
libaio.so.1: cannot open shared object file
查看>>
.NET使用存储过程实现对数据库的增删改查
查看>>
微内核与面向组件
查看>>
关于多线程的参数问题
查看>>
Android layer-list的属性和使用具体解释
查看>>
若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet
查看>>
雾计算简史
查看>>
Python 随机数 random
查看>>
CentOS Linux搭建SVN服务器
查看>>
用Metaclass实现一个精简的ORM框架
查看>>
linux 使用fdisk分区扩容,看介绍命令(未完)
查看>>
[转]23种设计模式全解析
查看>>
pycharm 教程(一)安装和首次使用
查看>>
UNDO及MVCC、崩溃恢复
查看>>
CSS中的“>”是什么意思
查看>>