hadoop上传数据图解

图解Hadoop文件的上传

在这里插入图片描述

如图所示

最开始所有的datanode节点会想namenode进行注册汇报告诉namenode自己还活着可以分配任务给自己

之后客户端会向namenode发送自己要上传a.txt的请求,这时客户端已经根据文件的大小进行了切块,发送请求时也包括了自己切割的块数信息

namenode检查权限是否通过检查通过会将ok的信息返回给客户端

客户端收到ok的信息后向namenode发送上传第一块数据的请求,namenode返回第一个数据块的元数据包括切块要存储的哪几个datanode并将块信息和datanode的信息返回给客户端

客户端和返回的元数据的三台datanode建立连接通道,客户端先向最近的dn01发送另外两台datanode的信息并建立连接,dn01向最近的dn02发送最后一台datanode的信息并建立连接,dn02在与最后一台dn03建立连接,形成一个线性连接,连接完成后依次按照原路返回ok的信息

客户端收到ok的信息后使用分布式输出流(分布式可以不需要一字节一字节的传输,可以先打包在一起)向dn01发送信息,dn01的分布式输入流接收信息,接收到信息时本地输出到本地磁盘持久化,同时使用分布式输出流接收到的数据传送给dn02,dn2输入流接收,输出到本地磁盘持久化,并将数据输出到dn03.dn03将数据磁盘持久化,返回ok上传成功

客户端收到dn01的的写入完成的信息后就与namenode请求下一块的数据并重复这个流程,直到传输完成

=================================================================

在传输的过程中只要dn01完成了数据的持久化客户端就认为传输完成了,不管后续传输结果如何,及时后续传输失败,也可以根据datanode的心跳机制进行数据的备份

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值