HDFS(Hadoop 分布式文件系统)
HDFS(Hadoop Distributed File System) 负责海量数据的存储,是一个高度容错性系统,能检测和应对硬件故障。主要角色有 NameNode, DataNode, SecondaryNameNode. HDFS 采用 master/slave 架构,一个 HDFS 由一个 NameNode 和一定数目的 DataNodes 组成。
图 2-1-1:HDFS 架构图
图 2-1-2:HDFS 执行步骤
1. NameNode (NN)
NN 是一个中心服务器,负责管理文件系统的命名空间(namespace)以及客户端对文件的访问。其中存储了文件的元数据,包括文件名、文件目录结构、文件属性(生成时间、副本数、权限)等,以及每个文件的块列表和列表中的块与块所在的 DataNode 之间的地址映射关系。
NN 的容错机制非常重要,因为如果运行 NN 的机器坏掉的话,系统中的文件将会完全丢失。Hadoop 提供了两种机制:1)将持久化存储在本地硬盘的文件系统元数据备份;2)运行一个辅助的 NN(SecondaryNameNode),定期将 namespace 镜像文件(fsimage)与操作日志文件(edit log)合并。
一般情况下,单 NN 集群的最大集群规模为 4000 台。
2. DataNode (DN)
DN 一般是一个节点一个,负责管理它所在节点上的存储,真正用于在本地文件系统存放数据。DN 的基本单位是块(block),默认 128M。大数据培训在 HDFS 上会保存数据的副本,默认是 3 个,即同一块数据会同时存储在 3 个不同的 DN 上进行备份,这个副本数量是可以设置的,后面进行配置的时候会介绍。
3. SecondaryNameNode (2NN)
2NN 是辅助节点,用于同步元数据信息,辅助 NN 对 fsimage 和 edit log 进行合并(冷备份),以解决 edit log 过大及丢失改动信息的问题。
图 2-1-3:SecondaryNameNode 工作原理
评论