在学习Hadoop-2.x版本中的HDFS之前先看一下目前普遍使用中的Hadoop-1.x版本的HDFS结构,有助于更好地理解2.x版本中HDFS的变化所带来的好处。先看看2.x版本之前的HDFS结构图,如下所示。
从上面的结构可以看出,HDFS主要包括两层:Namespace(命名空间)和块存储(BlockStorage)。命名空间由目录、文件和块组成,支持文件系统相关的所有命名空间操作,比如创建、删除、修改、列出文件和目录。
块存储服务有两部分:块管理和存储。其中的块管理由NameNode实现,通过处理注册信息和周期性的心跳提供DataNode集群的组员关系,处理块报告和维护块位置,支持譬如创建、删除、修改和查询块位置等的块相关操作,管理副本位置和确保一个块的副本数量在允许的副本数量之内,删除超出的块副本。存储由DataNode通过在本地文件系统存储块提供,并