一、写操作
二、读操作
1.请求namenode 因为namenode元数据里面记录了DataNode的地址
2.把我们的信息返回给客户端
3.客户端收到信息之后 就到相应客户端去请求数据即可
4.重点是请求那个DataNode上的哪个块信息,因为namenode上存放的是块编号
三、元数据
元数据保存在内存中,fsimage是元数据文件的存放方式,fsimage中的内容是各个文件的块信息
namenode中fsimage信息会每隔半小时更新一次,新文件与旧文件合并不断更新,在关闭时也会更新一次,开启时namenode会吧fsimage的数据加载到内存
四、namenode和SecondaryNameNode CheckPoint原理
在无Secondarynamenode时namenode要处理大量的客户端的请求还要每半小时把内存的数据同步到fsimage一次,为了减小namenode工作负担,设计出secondarynamenode。
secondarynamenode是对namenode的一个备份,它会下载namenode上的日志信息,根据日志生成fsimage实现对namenode的备份,把fsimage传给namenode,这时同步的任务交给secondarynamenode,namenode无需自己每半小时同步到fsimage。
不开启secondarynamenode的情况下,如果namenode挂掉就无法恢复。