1、什么是NameNode?
- NameNode是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。文件包括:
- fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
- edits:操作日志文件。
- fstime:保存最近一次checkpoint的时间
2、SecondaryNameNode的主要作用?
- SecondaryNameNode定期合并fsimage和edits日志,将edits日志文件大小控制在一个限度下。
3、NameNode 和SecondaryNameNode的工作原理
4、在NameNode端的工作流程如下:
- Namenode始终在内存中保存metedata,用于处理“读请求”, 到有“写请求”到来时,namenode会首先写editlog到磁盘,即向edits文件中写日志,成功返回后,才会修改内存,并且向客户端返回.
- Hadoop会维护一个fsimage文件,也就是namenode中metedata的镜像,但是fsimage不会随时与namenode内存中的metedata保持一致,而是每隔一段时间通过合并edits文件来更新内容。
5、secondary namenode的工作流程:
1.secondary
通知
namenode
切换
edits
文件
2.secondary
从
namenode
获得
fsimage
和
edits
(通过
http
)
3.secondary
将
fsimage
载入内存,然后开始合并
edits
4.secondary
将新的
fsimage
发回给
namenode
5.namenode
用新的
fsimage
替换旧的
fsimage