大数据中hadoop写入数据原理

1.1 首先由客户端client向分布式文件系统(HFS)发出写入的命令 .

1.2 HFS向主节点(NameNode , 后边称为NN)发出写入请求 , NN收到请求后进行一系列的检查(检查是否有权限 , 是否合法 , 路径是否正确等等) .

2. 无误后NN告诉client客户端可以存储并返回距上传位置最近且不忙的从节点(DataNode , 后边称为DN) 信息 

3. client接收到可以存储的信息后向文件系统数据输出流(FSData Outputstream)发出写入数据的命令 .

4. 写入数据前client客户端会将文件数据依次切分成最大128M的block块 , 传输时再次将block块的数据切分成packet包 , 每个packet包最大64kb , 每次传输一个packet包 .

5. DN接收packet数据包 , 每接收一个packet包都会返回一个ack应答 , client客户端接收到ack应答后才会开始传输下一个packet包 , 当第一个block块写满128M后才会开始写入下一个block块 .

6.  当第一个DN , node1 接收到一个完整的packet包的同时会向复制收到的数据包发给node2 , node2收到一个完整的packet包也会向node1返回一个ack应答 , 同时再复制一份packet包发给node3, node3接收到一个完整的packet包也会向node2返回一个ack应答. 如此三个DN之间会产生一个传输packet , 返回ack 的链条. DN需要定期的向NN汇报自己存储的block块信息 .

7. 循环上述4-7步直至所有block块传输完毕 ,  即文件已经被写入成功

8. 最后客户端会和NN相互确认数据保存完成 , 并汇报不能使用的DN信息

(博主小白 , 有问题大佬轻喷)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值