hadoop 2(文件)

1) hadoop 从 HDFS 文件读取过程


page: 83

客户端通过hadoop的api调用,使用RPC来调用namenode,以确定文件起始块的位置。对于每一个块,namenode返回存在该块复本的datamode地址。

namenode 告知客户端每个块中最佳的datanode,并让客户端直接联系该datanode且检索数据。namenode仅需要响应块位置的请求,而无需响应数据请求。
2) 文件写入


page:85

客户端通过api调用,对namenode进行RPC调用,在文件系统的命名空间中创建一个新文件,但文件中还没有相应的数据块;

客户端通过返回的outputstream写入数据,这个outputstream将数据分成一个个的数据包,写入内部队列,它根据datanode列表来要求namenode分配适合的新块存储数据,

outputstream将数据包传输到第一个datanode,第1个datanode存储数据并且将数据传输到第2个datanode;

outputstream维护一个内部数据包队列等待datanode的收到确认回执,称为“确认队列”,当收到所有datanode确认消息后,该数据包才会从确认队列删除;

在通过api创建一个文件之后 ,希望它在文件系统的命名空间中立即可见,但是,写入文件的内容并不保证能立即可见。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值