hadoop3.x:NameNode、DataNode、Secondary NameNode、Client客户端

介绍

HDFS是 master(主)/Slave(从) 结构

HDFS集群由 一个 NameNode 组成(3.x支持多个namenode),是 主服务器,管理多个 DataNodes

NameNode(nn)

NameNode,即 Master。

集群中 NameNode 的存在 简化了系统结构。

存储所有 HDFS 元数据:

  • 管理HDFS的命名空间,即:目录、文件
  • 配置副本数量
  • 数据块(block)管理
  • 管理客户端读写请求
  • 不处理数据

DataNode(dn)

DataNode,即 Slave,NameNode下达命令,DataNode 执行实际的操作

  • 文件被分成一个或多个块,这些块存储在一组 DataNode 中。(即:存储数据)
  • 执行数据块的读/写操作

Secondary NameNode

  • 辅助NameNode,分担其工作量,如:合并 fsimage 和 edits
  • 在紧急情况下,可辅助恢复NameNode
  • 不是 NameNode 备份

Client客户端

一般由 JAVA、C开发

  • 文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传;
  • 与 NameNode 交互,获取文件的位置信息;
  • 与 DataNode 交互,读取或者写入数据;
  • Client提供一些命令来管理HDFS,比如NameNode格式化;
  • Client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作;

原文出处:/show_1IX28z4sTb6F.html