大数据学习(六)HDFS读写机制 hadoop副本存储节点选择

上一篇我们讲过了java的HDFSAPI操作,现在这篇blog分享一下HDFS的读写机制,和hadoop架构中的副本存储节点的选择

HDFS写数据机制

在这里插入图片描述
简述:

  1. 客户端向namenode请求上传文件,namenode检查目标路径的环境是否已存在。
  2. namenode返回上传应答。
  3. block上传到哪几个DN节点。
  4. namenode返回3个节点,分别为dn1、dn2、dn3。
  5. 客户端请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成
  6. dn1、dn2、dn3逐级应答
  7. 客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待
  8. 当一个block传输完成之后,客户端再次请求namenode上传第二个block的服务器。回到第三步。

简单的源码分析:

  1. 客户端通过调用DistributedFileSystem的create方法创建新文件。

  2. DistributedFileSystem通过RPC调用namenode去创建一个新文件,创建前, namenode检查环境。如果通过, namenode就会记录下新文件,否则就会抛出IO异常。

  3. 前两步结束后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值