hadoop中的NameNode不存储块信息。它保存在内存中,并在启动时DataNodes报告块信息。
如果我将一个文件copyFromLocal复制到hdfs,它会转移到hdfs,因为我可以看到" hadoop fs -ls"。
我想知道Hadoop如何知道哪个文件名对应哪个块。
答案 0 :(得分:1)
NameNode维护一个File System Image
,它存储文件之间的映射 - >块。它还存储edit log
,它维护对文件系统的任何编辑。辅助名称节点定期从Namenode读取文件系统映像和编辑日志,并将它们组合在一起为NameNode创建新的文件系统映像。