1.1.1 HDFS体系结构

HDFS是一个主/从(Master/Slave)体系结构的分布式系统,如图1-1所示,HDFS集群拥有一个Namenode和一些Datanode,用户可以通过HDFS客户端同Namenode和Datanodes交互以访问文件系统。

图1-1 HDFS体系结构示意图

在HDFS中,Namenode是HDFS的Master节点,负责管理文件系统的命名空间(namespace),以及数据块到具体Datanode节点的映射等信息。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上,Datanode会以本地文件的形式保存这些数据块以及数据块的校验信息。

用户能够通过HDFS客户端发起读写HDFS文件的请求,同时还能通过HDFS客户端执行文件系统的命名空间操作,比如打开、关闭、重命名文件或目录。Namenode会响应这些请求,更改命名空间以及数据块的映射信息,然后指导Datanode处理文件HDFS客户端的读写请求。