Hadoop集群文件上传及下载过程和hdfs各角色的作用

文件上传

文件上传过程:
  1. 客户端向namenode发送文件上传的请求
  2. namenode进行一系列的检查.权限.文件的父目录是否存在 文件是否同名,检查通过则允许上传
  3. 允许客户端上传
  4. 客户端发送真正的文件上传的请求,请求包含一个重要信息,文件的长度和大小
  5. namenode根据文件的长度计算文件的切块的个数,获取副本的配置信息;返回副本的节点的信息的时候原则: 就近原则 ,客户端所在节点,同机架,不同机架
  6. 客户端准备文件上传
  7. 客户端对文件进行逻辑切块(128M/块)
  8. 开始上传第一个数据块
  9. 构建第一个数据块的上传的通道 pipline (构建通道的时候,客户端启动一个阻塞过程,等待datanode的响应)
  10. 开始上传第一个数据块,先上传到内存中,在到磁盘中(文件上传的过程中,以packet为单位进行传输的,64k为单位进行写入)
  11. 第一个数据块上传成功,关闭当前的pipline
  12. 重复之前几步的操作
  13. 客户端向namenode发送反馈
文件上传过程中遇到的问题
  1. 构建pipline(传输通道)的过程中,某一个节点宕机了,会立即重试一次,还失败,那这个datanode就剔除pipline,重新构建pipline. 至少保证整个pipline中有一个节点存活
  2. 进行文件上传的过程中,只需要保证至少一个副本上传成功就认为整个数据块上传成功,其他副本可以进行集群异步复制
  3. 进行文件上传的过程中,优先第一个副本节点是客户端所在的节点(保证副本最大程度的可以成功上传一个,相当于本地的复制,不需要网路传输)

文件下载

文件下载的过程(hadoop fs -get hdf
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值