|
hdfs中包含namenode,datanode,secondnamenode;
datanode存放数据;
namenode是管理整个文件系统的节点,存放元数据信息和每个文件对应的数据块列表信息;接受客户端请求。
secondnamenode:与nn通信合并操作日志和元数据文件。
secnn合并过程:
1.什么时候:secnn定期与nn通信,配置文件设置时间:默认3600,文件大小当edits大小达到设置值时也进行合并操作。
2.执行操作:
secnn通过http get方式从nn上将fsimage和edits下载到secnn上一个目录中配置文件有设置;这时nn不再使用edits,而是创建一个edits.new文件
secnn将fsimage加载到内存中,将edits的操作日志一条一条写入到内存中的fsimage形成一个新文件fsimag.ckpt.
合并完,通过post将新文件发送到nn上,替换fsimage文件,如果这阶段进行其他写操作记录都在edits.new文件中,将edits.new改成edits文件就又可以进行合并了,数据不会丢失。而edits也不会无限大
如果nn宕机了,可以从secnn中获得文件,减少丢失数据.
这种思想值得学习。