首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
crash
grpc
frontend
smtp
x86
jvm
spring
cookies
tengine
并发
cSharp
缓存
asp.net
static
yii
ruby
微服务
mq
iis
php
go
swoole
h2
ffmpeg
cron
nlp
interface
sms
curl
nginx
分布式
ssl
lvs
makefile
timeout
wordpress
http2
yaf
localhost
timezone
python
php水印
caching
爬虫
storage
ci
rust
api
ftp
laravel
cPlusPlus
server
okhttp
router
log4j
uuid
sockets
mysql
crontab
varnish
dns
golang
cookie
lavarel
token
压力测试
pipe
mvc
nodejs
cache
http
transform
pip
pipeline
touch
package
upload
lua
注入
当前位置:
开发笔记
>
后端
> 正文
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
文件
队列
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
nginx
全面解析运维监控:白盒与黑盒监控及四大黄金指标
本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ...
[详细]
蜡笔小新 2024-12-22 14:02:29
go
深入解析Hadoop的核心组件与工作原理
本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ...
[详细]
蜡笔小新 2024-12-19 17:17:51
缓存
深入解析BookKeeper的设计与应用场景
本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ...
[详细]
蜡笔小新 2024-12-19 11:08:57
缓存
HDFS与Hive中的数据存储和管理机制
本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ...
[详细]
蜡笔小新 2024-12-27 20:21:48
static
Java并发编程:LinkedBlockingQueue的实际应用
本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ...
[详细]
蜡笔小新 2024-12-27 18:51:49
并发
Spring Boot 服务的最大并发处理能力
本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ...
[详细]
蜡笔小新 2024-12-25 16:45:57
并发
微软Exchange服务器遭遇2022年版“千年虫”漏洞
微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ...
[详细]
蜡笔小新 2024-12-25 14:08:03
php
C++面试高频题
作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ...
[详细]
蜡笔小新 2024-12-25 12:32:36
缓存
深入解析TCP/IP五层协议
本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ...
[详细]
蜡笔小新 2024-12-24 14:02:48
iis
Servlet 表单处理:GET 和 POST 请求的深入解析
本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ...
[详细]
蜡笔小新 2024-12-23 18:09:59
iis
深入解析Redis内存对象模型
本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ...
[详细]
蜡笔小新 2024-12-23 14:50:23
缓存
Netflix利用Druid实现高效实时数据分析
本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ...
[详细]
蜡笔小新 2024-12-23 11:10:01
go
离线安装Grafana Cloudera Manager插件并监控CDH集群
本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ...
[详细]
蜡笔小新 2024-12-21 17:56:30
go
从码农到创业者:我的职业转型之路
在观察了众多同行的职业发展后,我决定分享自己的故事。本文探讨了为什么大多数程序员难以成为架构师,并阐述了我从一家外企离职后投身创业的心路历程。 ...
[详细]
蜡笔小新 2024-12-21 15:55:02
go
深入解析 Android IPC 中的 Messenger 机制
本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ...
[详细]
蜡笔小新 2024-12-21 11:11:40
Tags | 热门标签
crash
grpc
frontend
smtp
x86
jvm
spring
cookies
tengine
并发
cSharp
缓存
asp.net
static
yii
ruby
微服务
mq
iis
php
go
swoole
h2
ffmpeg
cron
nlp
interface
sms
curl
nginx
RankList | 热门文章
1
Java数据结构源码分析HashMap
2
pycharm+selenium搭建环境之no module named 'selenium'异常解决
3
在JavaScript文件中引入jQuery
4
.net高级技术——Attribute
5
redis知识汇总[随笔记录]
6
7.内置函数、作用域、闭包、递归
7
linux 测试端口_如何测试服务器及端口的稳定性?一分钟学会这个命令
8
MySQL之二:体系结构
9
从一个实际的例子来了解线程套间模型(.NET and COM interop)
10
中国云计算市场,现状如何?
11
RF测试中常用的接口和线材:深入了解SMA接口及其应用
12
利用Canvas实现直播时点赞冒气泡的效果
13
Codeforces 100548F - Color (组合数+容斥)
14
python判断电话号码是否合理_python 判断号码是否可用(号码过滤)
15
ios下button input checkbox radio 默认样式去除
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有