摘要:本文主要研究了HDFS文件系统的读写流程以及基于MRS在windows客户端下读写HDFS文件的实现。
HDFS(Hadoop分布式文件系统)是Apache Hadoop项目的一个子项目。
HDFS支持海量数据的存储,允许用户把成百上千的计算机组成存储集群,其中的每一台计算机称为一个节点。
用户通过HDFS的终端命令可以操作其中的文件和目录,如同操作本地文件系统(如Linux)中的文件一样。用户也可以通过HDFS API或MapReduce来编程访问其中的文件数据。
本文主要研究了HDFS文件系统的读写流程以及基于MRS在windows客户端下读写HDFS文件的实现。
1. HDFS的架构和元数据
1.1 HDFS采用master/slaves主从结构模型管理数据,结构模型图如下
1.2 元数据的相关概念
Fsimage:文件系统映射文件,也是元数据的镜像文件(磁盘中),存储某段时间namenode内存元数据信息
Edits log:操作日志文件
1.3 元数据的工作特点
(1) namenode始终在内存中存储元数据,使得“读操作”更加快
(2)写请求时,向edits文件写入日志,成功返回后才修改内存,并向客户端返回
(3) NameNode内存中存储的是=fsimage+edits
2. 文件的读写流程
2.1 文件的读取流程