hdfs文件处理过程

上传文件

过程:

  1. 创建分布式文件系统(distribute File System)
  2. FileSystem作为客户端请求NameNode,上传文件
  3. NameNode返回是否同意请求
  4. FileSystem请求datanode信息
  5. NameNode返回需要上传的datanode信息列表
  6. FileSystem请求datanode链接,datanode内部逐级请求建立通道
  7. 到最后一个datanode后依次返回应答成功结果
  8. FileSystem向datanode逐级,异步、无需等待传输bytebuffer数据
  9. 数据传输完成,FileSystem返回NameNode传输成功信息

如下图所示:
hdfs写数据流程

获取需要上传datanode列表:

上传文件过程第五步, NameNode返回需要上传的datanode信息列表。上传到哪些datanode里,hadoop提供了两个方案:

  1. 网络拓扑-节点距离计算:
    节点与节点到相同祖先的距离

  2. 框架感知:
    For the common case, when the replication factor is three, HDFS’s placement policy is to put one replica on one node in the local rack, another on a different node in the local rack, and the last on a different node in a different rack.(引用自:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Data_Replication

当副本数是3个时,hdfs策略是将一个副本放在本地节点上,第二个副本也是放在本地另一个节点上,第三个放在不同的机架节点上

文件下载

过程:

  1. 建立分布式文件系统FileSystem
  2. FileSystem向NameNode请求文件
  3. NameNode返回文件的元数据信息
  4. FileSystem分块与不同DataNode(就近的)建立连接,请求读取数据
  5. DataNode已packate为单位传输数据
    如下图所示:
    hdfs文件下载图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值