深入理解HDFS架构
副本存放:
优化的副本存放策略是HDFS区分其他分布式系统的重要特性。HDFS采用机架感知策略
来改进副本数据的可靠性,可用性,网络带宽的利用率。
通过机架感知,Namenode可以确定DataNode所属机架id。
HDFS的存放策略是将一个副本存放在本地机架的节点上,一个副本放在同一机架的另一个节点,
最后一个副本存放在不同机架的节点上。
减少机架间的数据传输,提高了写操作的效率,读的时候更好利用多个机架的带宽。
安全模式
Namenode启动后会进入安全模式的特殊状态,不进行数据块的复制。
Namenode从所有的DataNode接收心跳信号和块状态报告。
块状态报告包括DataNode所有数据块列表。检测各数据块是否达到最小副本数目。
文件系统元数据持久化
对于任何对文件系统元数据产生修改的操作,Namenode使用EditLog的事务日志记录下来。
整个文件系统的DataNode空间,包括数据块到文件的映射,文件的属性等,存储在FsaImage文件。
当NameNode启动时,从硬盘中读取EditLog和FsImage,将所有的EditLog事务作用在内存中的Image。
保存FsImage,删除EditLog,这个过程称为一个检查点,只发生在NameNode启动时。
文件系统回收站
如果启用了回收站配置,用户或应用程序删除某个文件时,将这个文件重命名转移到/trash目录,以便后面的
复原。保存时间可以配置,超过时间,文件将被永远删除。
hadoop fs -rm /file
将file移动到回收站目录。
hadoop fs -rm -skipTrash /file
将file直接删除。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/191278.html