HDFS- 架构图详细解析

HDFS:我们至少应该学习以下内容

  • Hdfs架构设计
  • Hdfs优缺点
  • Hdfs如何读取文件
  • Hdfs如何写入文件
  • Hdfs副本存放策略
  • hdfs访问命令
  • Hdfs数据复制
  • Hdfs空间回收
  • Namenode的热备
  • NN&2NN关系
  • DataNode工作机制
  • Hdfs面试重点

介绍

HDFS(The Hadoop Distributed File System),是被设计成适合运行在通用硬件(commodity hardware)上的 Hadoop 的分布式文件系统。它与其他的分布式系统有非常显著的不同,首先 HDFS 具有高容错性,并且它可以被部署到廉价的硬件上。此外,HDFS 提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。

HDFS架构图

HDFS- 架构图详细解析_第1张图片

名词解释

关键词 含义
namenode 名字节点,管理文件系统命名空间的主服务器。
datanode 数据节点,存储文件块
replication 文件块的副本,目的是确保数据存储的可靠性
rack 翻译为“机架”,可以理解为两个处于不同地方的机群,每个机群内部有自己的连接方式
Client 凡是通过指令或代码操作的一端都是客户端
Client的Read 从HDFS下载文件到本地
Client的Write 上传文件到HDFS上

DataNode 中存储的不是单个文件,而是文件块(Block),在 HDFS 中,每个大文件会拆分成多个 Block,然后将这些 Block 散布存储在不同的 DataNode 中,并且每个 Block 会有多个复制,也会存储到其他的 DataNode中。

上图分别解释了“读”和“写”两种操作:

  1. 当有客户端要向 HDFS 写入文件时,图中将文件拆分的 Block 写入到了两个机架的 DataNode 中,一般情况下就是两个机架的两个物理主机中,可以看出文件数据没有经过 NameNode。数据写入的过程见(“七、数据复制流水线”)

  2. 当有客户端要从 HDFS 读取文件时,会将操作命令传向 NameNode,然后 NameNode 转为对应的数据块的操作,指挥相应的 DataNode 将所需数据返回给客户端。

注意
还有一个节点图中没有显示,叫作 Secondary Namenode,是辅助后台程序,主要负责与 NameNode 进行通信,定期保存 HDFS 元数据的快照及备份其他 NameNode 中的内容,日常 Standby,当 NameNode 故障时顶替 NameNode 使用。

NameNode & DataNodes

NameNodeDataNodeHDFS 系统的重要知识点。HDFSmaster/slave 体系结构。一个 HDFS 集群是由单个 NameNode 和众多 DataNode 组成,文件会被分成一个或多个块,这些块存储在一组 DataNode 中。

因为 HDFS是用 Java 语言搭建的,所以只要是支持 Java 语言的机器都可以运行 NameNodeDataNode。并且因为 Java 的高可移植性,HDFS 也具有非常广泛的应用范围。一种典型的 HDFS 部署模式是指定一个物理主机运行 NameNode,然后其余的机器运行 DataNode,在实际部署情况中,一般都是一台主机部署一个 DataNode

群集中存在单个 NameNode 极大地简化了系统的体系结构。 NameNode 是所有 HDFS 元数据的决定者和存储库。系统的这种设计使用户数据永远不会流经 NameNode,可理解 NameNode 为整个系统的中枢。

NameNode

NameNode(nn) 是管理文件系统命名空间的Master(主服务器),用于管理客户端对文件的访问,执行文件系统命名空间操作,如打开,关闭和重命名文件和目录。

  • 管理HDFS的名称空间
  • 配置副本策略
  • 管理数据块(Block) 映射信息
  • 处理客户端的读写请求

NameNode 做着有关块复制的所有决定,它定期从群集中的每个 DataNode 接收 HeartbeatBlockreport。收到 Heartbeat 意味着 DataNode正常运行,Blockreport 包含 DataNode 上所有块的列表。

DataNode

DataNode 是Slave。通常是群集中每个节点一个,用于存储数据,负责提供来自文件系统客户端的读写请求。NameNode下达命令,DataNode执行实际的操作。如执行块创建,删除和复制。

  • 存储实际的数据块
  • 执行数据库的读/写操作

你可能感兴趣的:(大数据-Hadoop脉络,hdfs,架构图,hadoop)