当前位置: 首页 > news >正文

HDFS写入数据的流程图

1.客户端向namenode发送请求,请示写入数据

2.namenode接受请求后,判断这个用户是否有写入权限,如果不具备直接报错;如果有写入权限,接着判断在要写入的目录下是否已经存在这个文件,如果存在,直接报错,如果不存在,通知客户端可以上传

3.客户端对文件进行切分,形成block块

4.客户端请求第一个block块,存储在哪些地方

5.namenode根据机架感知原理,网络拓扑关系,副本机制找到相应的可以上传的datanode的连接列表,返回给客户端

6.在连接列表中选择第一台datanode进行连接并建立管道,让第一台与第二台连接,第二台与第三台连接形成一个管道

7.客户端通过数据包(64kb)的形式发送数据,当第一台接受数据后,然后将数据转发给第二台,第二台接受完,第二台数据再把数据发送给第三台

8.当最后一个接受请求后,建立一个反向的应答队列,当每个节点都将数据包接收以后,反向给予应答响应(ack确认机制)

9.数据开始源源不断的发送数据,当第一个block块发送完成之后,客户端重新请求namenode,获取第二个block块应该存放在哪些datanode中,接着从第五步开始执行,直到所有的block块全部写入完成

http://www.lryc.cn/news/418296.html

相关文章:

  • 【Material-UI】使用指南:快速入门与核心功能解析
  • 【Java 第十三篇章】MyBatis 持久化框架的介绍
  • AI新应用:概要设计与详细设计自动生成解决方案
  • 【物联网设备端开发】使用QEMU模拟ESP硬件运行ESP-IDF
  • #子传父父传子props和emits #封装的table #vue3
  • 尚硅谷谷粒商城项目笔记——四、使用docker安装redis【电脑CPU:AMD】
  • Java在无人驾驶方向的就业方向
  • 机器学习中的关键距离度量及其应用
  • Redis中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
  • 【C++】vector 的模拟实现
  • 【C++】模版详解
  • 应用商店故障(UOS系统)
  • 8月8号前端日报:web在线进行eps32固件升级
  • win7安装python3.10
  • 【Liunx】线程与进程的经典面试题总结
  • Python中的 `break` 语句:掌握循环控制的艺术
  • ES2023(ES14)新特性有什么?
  • Linux 中的特殊文件权限:SUID、GUID 和 Sticky
  • 2024 某公司python 面试真题
  • jwt伪造身份组组组合拳艰难通关
  • leetcode日记(64)最小覆盖子串
  • C语言——编译与链接
  • 你一定想看的LVS详细介绍及常见模式(NAT,DR,防火墙标记)实验详解
  • 嵌入式初学-C语言-十七
  • leetcode数论(2280. 表示一个折线图的最少线段数)-几何
  • 如何利用 LNMP 搭建 WordPress 站点
  • “Mutation Observer:让DOM变化尽在掌握
  • oracle(19c)用户管理
  • 浅谈安科瑞智慧用电系统在电气火灾中的应用
  • 【Material-UI】Button 组件中的尺寸设置(Sizes)详解