我想了解在需要通过hdfs访问数据时发生的每一步。在哪里可以找到hdfs上写/读操作的逐步说明。
我很清楚namenode包含特定于文件系统的元数据这一事实。但是我想知道存储在namenode上的数据是什么。我的猜测是这样的:当单个datanode使用它们所承载的各个块的块信息更新namenode时,当它们启动时,namenode只具有文件名(具有完整的目录结构)以及该文件的数据存储在的块编号。每当读/写操作进入时,它都会从namenode写入/读取块号,并根据namenode存储在内存中的反向Map(Map是在数据节点出现时由数据节点构造和更新的)接近数据节点,该Map告诉文件操作哪个数据节点承载哪个块号,因此它需要向哪些数据节点写入/读取信息。这只是一个猜测和希望,如果有人能证实这一点。此外,Map程序从指定为map reduce作业输入的文件中读取数据的方式也是这样吗?唯一的区别是作业跟踪器可能执行找出数据节点并在相应的数据节点上生成Map程序的工作?
1条答案
按热度按时间jhiyze9q1#
在哪里可以找到hdfs上写/读操作的逐步说明。
请查看此漫画,了解如何从hdfs读取/写入数据。它不处理api级别的细节,而是在一个较高的级别上进行描述。另外,这篇关于hdfs的文章也很有趣。
我很清楚namenode包含特定于文件系统的元数据这一事实。但是我想知道存储在namenode上的数据是什么。
使用这些指令可以脱机转储hdfs元数据内容。