浅议Hadoop分布式文件系统HDFS体系结构 - 新闻中心 - 福州哈唐网络-福建IDC企业!专注云主机及服务器租用托管13年!

新闻中心

首页 > 新闻中心 > 行业新闻 >

浅议Hadoop分布式文件系统HDFS体系结构

时间:2017-10-30 09:39:29   阅读:

  HDFS是一个主从结构的体系,HDFS集群有一个NameNode和很多个DataNode组成。NameNode管理文件系统的元数据,DataNode存储实际的数据。客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的。
 
  NameNode就是主控制服务器,负责维护文件系统的命名空间(Namespace)并协调客户端对文件的访问,记录命名空间内的任何改动或命名空间本身的属性改动。DataNode负责它们所在的物理节点上的存储管理,HDFS开放文件系统的命名空间以便让用户以文 件的形式存储数据。HDFS的数据都是“一次写入、多次读取”,典型的块大小是64MB, HDFS的文件通常是按照64MB被切分成不同的数据块(Block),每个数据块尽可能地分 散存储于不同的DataNode中。NameNode执行文件系统的命名空间操作,比如打开、关闭、重命名文件或目录,还决定数据块到DataNode的映射。DataNode负责处理客户的读写请求,依照NameNode的命令,执行数据块的创建、复制、删除等工作。图6-1是HDFS的结构示意图。例如客户端要访问一个文件,首先,客户端从NameNode获得组成文件的数据块的位置列表,也就是知道数据块被存储在哪些DataNode上;然后客户端直接从DataNode上读取文件数据。NameNode不参与文件的传输。
 
\
 
  HDFS典型的部署是在一个专门的机器上运行NameNode,集群中的其他机器各运行—个DataNode;也可以在运行NameNode的机器上同时运行DataNode,或者一台机器上运行多个DataNode。这种一个集群只有一个NameNode的设计大大简化了系统架构。
 
  NameNode使用事务日志(EditLog)记录HDFS元数据的变化,使用映像文件 (Fslmage)存储文件系统的命名空间,包含文件的映射、文件的属性信息等。事务日志和映像文件都存储在NameNode的本地文件系统。
 
  NameNode启动时,从磁盘中读取映像文件和事务日志,把事务日志的事务都应用到内存中的映像文件上,然后将新的元数据刷新到本地磁盘的新的映像文件中,这样可以截去旧的事务日志,这个过程称为检査点(Checkpoint)。HDFS还有Secondary NameNode节点,它辅助NameNode处理映像文件和事务日志。NameNode启动的时候合并映像文件和事务日志,而Secondary NameNode会有周期地从NameNode上复制映像文件和事务日志到临时目录,合并生成新的映像文件后再重新上传到NameNode, NameNofe更新映像文件并清理事务日志,使得事务日志的大小始终控制在可配置的限度下。


闽公网安备 35010002000114号