hdfs文件上传与文件下载

1.文件上传
1.客户端向namenode发送上传文件请求;
2.namenode在元数据信息中会进行一系列的对父目录的检查,确认文件是否存在、相应权限;
3.客户端真正提交上传文件请求,该请求包含一个重要信息(文件大小,用于计算切块个数)
4.namenode开始计算上传文件的切块个数(文件总大小/128M),返回给客户端对应的节点
200M blk0000123[hadoop01,hadoop02] blk0000124[hadoop02,hadoop03]
5.客户端开始准备文件上传,对其进行逻辑切分,为物理切分做准备
6.文件上传开始,准备上传第一个数据块
7.构建上传通道pipline,同时客户端开启一个守护进程,等待块上传的结果回馈
8.pipline构建完成,开始上传第一个数据块,边上传边切分,上传时以packe为单位(64KB);
9.客户端文件以packe为单位依次传给第一个副本节点–》第二个副本节点–》第三个副本节点;
10.进行其余数据块传输;
11.所有数据块上传成功,修改namenode元数据
在这里插入图片描述
2.文件下载
1.客户端向namenode发送文件下载请求;
2.namenode查询元数据,进行校验,若不存在,报错,存在则返回对应文件的blockid以及每一个blockid的每一个副本的存储节点 ;
/hadoop.tar.gz blk001:[hadoop01 hadoop02] blk002:[hadoop02 hadoop03]
3.客户端与对应节点通讯,开始下载第一个数据块,优先选择近的;
4.第一个数据块下载完成,进行crc校验,检验通过则下载成功;
5.一次下载其余数据块,内容会追加到第一个数据块的末尾;
6.所有数据块下载完成,返回给客户端。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值