hadoop2之HDFS分析:Client与DataNode流程分析

本文详细分析了Hadoop HDFS中Client进行文件写入和读取的流程。在写文件过程中,Client通过NameNode创建文件并启动datastream线程,数据按chunk大小生成校验和,分包写入DataNode,最终关闭文件并完成写操作。读文件时,Client查询NameNode获取文件块位置,选择DataNode建立连接,读取指定位置的数据块并进行校验,最后读取所有块后返回-1表示读取结束。
摘要由CSDN通过智能技术生成

Client与DataNode流程分析

1.写文件流程

 

1)  Client执行create方法,调用NameNode的create方法,同时在Client端启动datastream线程;

2)  Client调用write方法,write不断地写入字节,写入字节的时候,以chunk大小作为生成校验和的单位;当写的字节数量达到一个包大小,就将这些字节封装成一个包,并加入dataqueue队列;

3)  datastream线程读取dataqueue队列,如果读取到包数据,则首先判断是否需要创建块文件,如果需要,则需要有如下步骤:

a)  创建与DataNode的socket连接,DataNode接受到创建连接的请求,就初始化一个dataxceiver线程对象;

b)  Client发送块头信息到DataNode;

c)  DataNode接受到该头信息后,读取操作码,根据操作码调用方法writeBlock࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值