首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
c语言
sftp
微服务
pipe
struct
timeout
多线程
api
cookie
爬虫
cache
syslog
router
上传
server
队列
spring
thinkphp
smtp
curl
pdo
ci
storage
frontend
node.js
makefile
ftp
mvc
php框架
注入
queue
rabbitmq
transform
dns
yii
webserver
web3
webhooks
yaf
ssl
uuid
mq
laravel
正则
jvm
织梦cms
cookies
hashmap
session
cPlusPlus
x86
php水印
http2
nginx
grpc
django
nlp
openssl
压力测试
protocol-buffers
touch
http
phpunit
timezone
go
caching
log4j
rust
pipeline
nodejs
interface
pip
memcache
ruby
crash
cSharp
pymongo
lua
varnish
当前位置:
开发笔记
>
后端
> 正文
HDFS写入流程(文字版)
作者: | 来源:互联网 | 2023-10-11 15:37
客户端发送请求,连接NameNode,请求写入操作.NameNode接收到请求后,判断用户有无写入权限,如果没有,报错.如果有写入权限,判断写入路径下有无这个文件,如果有,报错,如
客户端发送请求, 连接NameNode, 请求写入操作.
NameNode接收到请求后, 判断用户有无写入权限, 如果没有, 报错.
如果有写入权限, 判断写入路径下有无这个文件, 如果有, 报错, 如果没有, 通知客户端可以写入.
客户端接收到可以写入的信息后, 开始对文件进行切分, 行程多个block块.
客户端请求NameNode, 第一个block应该存储在哪些DataNode中.
NameNode根据机架感知, 网络拓扑图关系, 副本机制, 来寻找适合的DataNode, 形成地址列表, 然后将这些地址列表返回给客户端.
客户端从地址列表中, 拿到第一个DataNode地址与之连接.
当第一个DataNode连接成功后, 让第一个DataNode连接第二个DataNode地址, 然后第二个DataNode连接第三个DataNode地址, 形成一个通信管道.
客户端开始进行写入数据, 数据将以数据包(64K)的形式来发送数据, 当第一个DataNode接收到数据后, 然后将数据发送给第二个DataNode, 第二个DataNode接收到以后发送给第三个DataNode.
当第一个DataNode接收到数据后, 会建立一个应答响应队列, 每个节点接收到数据后, 都会向应答队列反向报告, 最终所以都报告完后, 将应答队列返回客户端.
客户端 -> DataNode1 -> DataNode2 -> DataNode3 (传输)
DataNode3 -> DataNode2 -> DataNode1 -> 客户端 (应答响应)
不断的发送, 不断的应答响应, 直到第一个block发送完成, 重新向NameNode请求第二个block的存储地址列表, 然后不断的重复发送,应答响应操作, 直到所有block传输完毕.
hdfs
文件
队列
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
ci
流处理中的计数挑战与解决方案
本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ...
[详细]
蜡笔小新 2024-11-20 13:50:01
队列
从0到1搭建大数据平台
从0到1搭建大数据平台 ...
[详细]
蜡笔小新 2024-11-12 15:26:03
队列
入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ...
[详细]
蜡笔小新 2024-11-21 10:03:34
队列
掌握专业技能的学习路径
本文探讨了有效学习专业技能的方法,包括编程语言、操作系统、软件组件及前沿技术的探索,旨在为初学者提供一套系统的自学指南。 ...
[详细]
蜡笔小新 2024-11-20 17:01:13
队列
Linux基本功八:输入输出重定向及管道
1、什么是过滤器管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入, ...
[详细]
蜡笔小新 2024-11-19 21:18:53
队列
构建用户画像环境:Hive与SparkSQL的高效整合
本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ...
[详细]
蜡笔小新 2024-11-19 09:44:24
队列
进程、线程与协程的区别与联系
本文详细介绍了进程、线程和协程的概念及其之间的区别与联系。进程是在内存中运行的独立实体,具有独立的地址空间和资源;线程是操作系统调度的基本单位,属于进程内部;协程则是用户态下的轻量级调度单元,性能更高。 ...
[详细]
蜡笔小新 2024-11-18 19:06:09
队列
电商高并发解决方案详解
本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ...
[详细]
蜡笔小新 2024-11-18 14:59:39
队列
Redis:缓存与内存数据库详解
本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ...
[详细]
蜡笔小新 2024-11-18 14:16:11
队列
Linux 系统性能监控命令详解
top 命令是一个强大的工具,可以实时动态地监控系统的整体运行状况。它整合了多种信息,提供了一个全面的系统性能和运行信息视图。通过 top 命令的交互界面,用户可以使用热键进行各种管理操作。 ...
[详细]
蜡笔小新 2024-11-18 12:36:56
队列
深入理解Sleep函数及其实现原理
本文详细介绍了Sleep函数的基本概念、使用方法及其背后的实现原理。适合对Sleep函数的使用和实现感兴趣的开发者阅读。通过本文,您将了解如何在不同操作系统中使用Sleep函数,以及其在多线程编程中的重要性。 ...
[详细]
蜡笔小新 2024-11-18 08:58:34
队列
python并发打开网页_python并发_线程
关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ...
[详细]
蜡笔小新 2024-11-17 13:24:48
ci
大华股份2013届校园招聘软件算法类试题D卷
一、填空题(共17题,每题3分,总共51分)1.设有inta5,*b,**c,执行语句c&b,b&a后,**c的值为________答:5 ...
[详细]
蜡笔小新 2024-11-17 11:01:27
ci
Hadoop 架构详解:核心组件解析
本文介绍了Hadoop的核心组件,包括高可靠性和高吞吐量的分布式文件系统HDFS、分布式的离线并行计算框架MapReduce、作业调度与集群资源管理框架YARN以及支持其他模块的工具模块Common。 ...
[详细]
蜡笔小新 2024-11-16 12:13:59
ci
Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ...
[详细]
蜡笔小新 2024-11-09 19:46:30
Tags | 热门标签
c语言
sftp
微服务
pipe
struct
timeout
多线程
api
cookie
爬虫
cache
syslog
router
上传
server
队列
spring
thinkphp
smtp
curl
pdo
ci
storage
frontend
node.js
makefile
ftp
mvc
php框架
注入
RankList | 热门文章
1
CS231n作业笔记2.3:优化算法Momentum, RMSProp, Adam
2
python字符串随机生成密码_Mac OS生成随机密码的Python脚本
3
markdown [软件代理设置]
4
包含vb.net同时运行的词条
5
Flutter 布局(四) Baseline、FractionallySizedBox、IntrinsicHeight、IntrinsicWidth详解
6
C++ STL复习(13)容器适配器
7
python – 矢量化searchsorted numpy
8
AstridDAO 专访:波卡稳定币黑马 BAI
9
五、RabbitMQ Java Client基本使用详解
10
在Java中将文件路径作为参数传递 - Passing file path as an argument in Java
11
利用PyTorch快速实现分类任务
12
python3 logging
13
(九)Docker常用安装
14
mysql 查询二维数组_[剑指offer]二维数组中的查找
15
《天仙子》翻译 原文赏析诗人宋卫宗武
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有