HDFS架构师 2-1 —DataNode启动流程-注册及心跳

1、 DataNode启动流程 19:00

DataNode.png

本节入口:
DataNode类main方法
/* DataNode类注释说明:

  • TODO (1)
  • DataNode存储hdfs上block文件块。在一个文件系统里面可以有多个dataNode
  • 每个DataNode周期性的跟NameNode进行通信,客户端也可以跟DataNode进行交互
  • 或者DataNode之间也可以进行相互通信。
  • TODO (2)
  • DataNode存储一系列block,DataNode允许客户端去读写block。
  • DataNode也会去响应NameNode,响应NameNode发送过来的一些指令
  • 比如:删除block,复制block等操作。
  • TODO (3)
  • datanode管理了一个重要的表:
  • block -》 stream of bytes 看起来像是一些元数据的信息。
  • TODO (4)
  • 这个信息是存储在本地磁盘,DataNode启动的时候会把这些信息
  • 汇报给NameNode,启动了以后也会再去不断的汇报。
  • TODO(5)
  • DataNode启动了以后会一直去问namenode自己需要干些什么?心跳
  • NameNode是不能直接去操作DataNode的。DataNode启动了以后,会跟NameNode
  • 进行心跳,NameNode接收到了心跳了以后,如果需要这个DataNode做什么事,
  • 就会给DataNode一个返回值(指令),DataNode接收到这些指令以后就知道NameNode
  • 想让他做什么事了
  • TODO(6)
  • DataNode开放了Socket服务,让客户端或者别的DataNode来进行读写数据。
  • DataNode启动的时候会把自己的主机名和端口号汇报给NameNode.
  • 也就是说如果Client和DataNode想要去访问某个DataNode.首先要跟NameNode进行通信
  • 从NameNode那儿获取到目标DataNode的主机名和端口号。
  • 这样才可以访问到对应的DataNode了。
  • 客户端:hell0.txt -> namenode: block01(hadoop1:50010,hadoop2,hadoop3),block02(hadoop4,hadoopxx)
  • 客户端:hadoop1:50010 hadoop4:50010
  • TODO 总结:
  • 1)一个集群里面可以有很多个DataNode,这些DataNode就是用来存储数据的。
  • 2)DataNode启动了以后会周期性的跟NameNode进行通信(心跳,块汇报)
  • 3)NameNode不能直接操作DataNode.而是通信心跳返回值指令的方式去操作的DataNode.
    1. DataNode启动了以后开放了一个socket的服务(RPC),等待别人去调用他。
      */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值