我是靠谱客的博主 闪闪日记本,最近开发中收集的这篇文章主要介绍hadoop中hdfs上传数据的基本流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

hadoop中hdfs上传数据的基本流程

1.首先hdfs客户端请求上传一个文件(假设为a.txt(300M)),这条请求会发送给namenode服务器,由namenode服务器校验,发送该请求的客户端是否有权限上传文件,以及确认datanode是否有足够的空间来存储这个文件以及它的副本。
2.如果这两个条件都能满足,namenode服务器则会发送响应OK的消息给客户端。
3.hdfs客户端接收到OK的响应过后,会向namenode请求上传第一块数据。
4.namenode服务器接收到请求后,会返回原数据信息(blk_0 0 128M lx01 lx02 lx03)给客户端。
5.hdfs客户端接收到元数据信息过后会去尝试和返回的多台机器建立连接通道。
6.各datanode节点如果能和hdfs客户端以及其他datanode节点连通,则会返回OK给相邻的datanode节点,并最终返回给hdfs客户端一个OK的消息,不一定要所有节点都能连通才返回OK,当有一个或者一个以上的节点能够连通时,就会返回OK给hdfs客户端。
7.当hdfs客户端接收到OK的消息过后,就要开始按照namenode返回元数据信息上传已经分配好的数据块(以300M,默认blocksize128M为例,a.txt将被分为3块上传,第一块大小为128M,第二块大小为128M,第三块44M)给各个datanode节点,一块一块地(第一次统一上传第一块,第二次统一上传第二块,以此类推…)上传给各个datanode节点,这样就将要上传的数据及其副本上传到hdfs的各个datanode节点了。
8.补充:各个datanode节点会设置一个心跳时间(假设为3秒),检测数据块是否上传成功,当上传失败时,重新传输或者进行其他处理,以保证数据能够顺利,完整地存储到datanode当中。

最后

以上就是闪闪日记本为你收集整理的hadoop中hdfs上传数据的基本流程的全部内容,希望文章能够帮你解决hadoop中hdfs上传数据的基本流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部