SecondaryNameNode详解:
一.NameNode功能是干嘛的
管理子节点:
处理客户端发过来的请求:
管理元数据:
- 元数据在哪里?存放在哪里?
(肯定不会在HDFS里,否则出现死循环)
结论:
a.为了加快访问,元素在NameNode所在机器的内存上。好处: 内存读写速度快, 可以加快请求。
b:存储在内存中,也存储在磁盘中,也即是一个文件,这个文件的名称:fsimage,
路径:/opt/modules/hadoop-2.7.3/data/tmpData/dfs/name/current
二.namenode的启动过程:
加载fsimage内容到内存中去,后续HDFS的变化(文件上传、修改、删除)再想办法进行同步。
三.SenondaryNameNode功能:
- 辅助NameNode同步本地元数据
- fsimage(old) + edits = fsimage(new)
eidts:该文件很重要,记录了HDFS的修改数据,不能丢失 - 可以通过edits日志文件信息,可以解析得到元数据
- 在合并的过程中,现合并到fs.tmp文件中,合并完成后,修改名字为:fsimage,删除fs.tmp.