NameNode和DataNode之间的通信

NameNode和DataNode之间的通信

NameNode(主节点)

  • 接收DN的注册信息  并返回唯一的集群ID和统一的存储目录和UUID
  • 接收DN汇报的磁盘空间和存储情况  分配存储任务给DN
  • 接收DN的心跳机制和数据汇报
  • 维护元数据信息的副本个数,给DN分配副本任务
  • 管理和维护数据的存储信息(存储位置有:内存+磁盘  并且会复制子多份)
  • 接收客户端发送的上传和下载的请求  并返回元数据的存储信息
  • 给客户端提供虚拟的文件列表(shell命令)
  • 从节点注册后发给DN的集群ID

NameNode和DataNode之间的通信

注意:

    若从节点个数有限,当主节点分配副本任务时,从节点防火墙又未关闭,会造成副本全部存储到一台节点机的问题

DataNode(从节点)

  1. 向NN发送注册信息  汇报磁盘空间/数据存储情况
  2. 接收NN发送的集群ID 和UUID(集群UD是主节点初始化所产生的)
  3. 发送心跳机制给NN  并接收副本任务(维护数据在集群中的个数)
  4. 真正存储数据的地方
  5. 真正与客户端进行交互的地方(上传和下载)