HDFS读写数据流程

1.数据读取流程

	1)客户端通过DistributedFileSystem模块向NameNode请求下载文件。
	
	2)NameNode通过查询元数据,找到文件每一个Block块所在的DataNode地址,将其返回给客户端。
	
	3)客户端挑选一台DataNode(就近原则)服务器,请求读取数据。
	
	4)DataNode将客户端所需的Block从磁盘里面读取出来,以Packet为单位来做校验,如果校验失败则通知
客户端,客户端会重新向存有此Block副本的其他DataNode发送读取请求。校验成功则客户端以Packet为单
位接收,并进行缓存,最后写入指定文件。

HDFS数据读取流程

2.数据写入流程

	1)客户端通过DistributedFileSystem模块向NameNode发送上传文件的请求,NameNode对要上传的文件
进行检查(是否已存在,其父目录是否存在,权限等)。

	2)NameNode返回是否可以上传。
	
	3)客户端请求第一个Block上传到哪几个DataNode上。
	
	4)NameNode首先检查客户端是否有可用的DataNode,如果没有就会在其他位置随机选择一个DataNode节
点,再在与第一个DataNode节点不同的机架上随机选择第二个DataNode节点,最后在第二个DataNo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值