十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
深入理解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直接删除。