首页 > 其他分享 >HDFS写数据宏观流程

HDFS写数据宏观流程

时间:2024-05-15 16:31:26浏览次数:22  
标签:HDFS 流程 宏观 packet DataNode NameNode 节点 block 客户端

HDFS写数据宏观流程

客户端使用rpc通信框架向NameNode发送请求,NameNode接收并处理用户请求,同时检测用户是否拥有上传文件操作的权限。磁盘空间是否可用,路径是否存在,

NameNode会针对这个文件创建一个空的Entry对象,并返回成功的状态给DFS,

如果DFS接收到成功的状态,会创建FSDataOutPutStream的对象给客户端使用,

客户端会向NameNode获取文件存储在HDFS中所需要的所有DataNode节点,

NameNode针对这个文件产生的block块进行分配DataNode节点,DatatNode节点之间会形成Pipline通道,

NameNode会将这些划分好block块的所有DataNode节点的信息给到客户端

客户端通过机架感知,与最近的DataNode建立联系

客户端会将每个block块默认划分成2048个packet进行发送,每次发送一个packet,

每传送完成一个packet节点到最后一个节点且最后一个节点收到了会返回确认值ack,客户端收到后会继续发送下一个packet,直到所有的block的所有packet发送完毕,

当最后一个block块中的最后一个packet发送完毕之后,释放FSDataOutPutStream对象,关闭DataNode之间的pipline通道

HDFS写数据宏观流程

标签:HDFS,流程,宏观,packet,DataNode,NameNode,节点,block,客户端
From: https://www.cnblogs.com/peculiar/p/18194170

相关文章

  • Python基础篇(流程控制)
    流程控制是程序运行的基础,流程控制决定了程序按照什么样的方式执行。条件语句条件语句一般用来判断给定的条件是否成立,根据结果来执行不同的代码,也就是说,有了条件语句,才可以根据不同的情况做不同的事,从而控制程序的流程。ifelseif条件成立,执行if内的命令;否则条件不成立,则......
  • 流程控制语句
    流程控制语句1Scanner控制台输入使用方式:导包:importjava.util.Scanner;创建变量Scanner变量名=newScanner(System.in);使用变量名.nextInt();publicstaticvoidmain(String[]args){//获取用户键盘录入的信息Scannerscanner=n......
  • ECU刷写流程之压缩刷写技术解析
    背景  在现代汽车电子技术中,ECU(电子控制单元)的软件升级是一项关键任务。为了提高数据传输的效率和安全性,压缩刷写技术应运而生。通过数据压缩传输,我们可以有效地增加带宽利用率,减少刷写工具与ECU之间的数据传输量,从而显著缩短ECU升级时间。此外,为了加强数据的安全性和保密性,......
  • Linux启动流程
    参考链接:https://www.ruanyifeng.com/blog/2013/02/booting.htmlhttps://www.ruanyifeng.com/blog/2013/08/linux_boot_process.htmlhttps://www.runoob.com/linux/linux-system-boot.html第一阶段:计算机启动(硬件启动流程)1.BIOS(BasicInputOutputSystem基本输入输出系统)阶......
  • 开源可视化表单服务商:提升自主研发 助力流程化办公!
    当前,做好流程化办公可以为企业实现提质增效的办公效果,助力企业进入数字化转型。作为开源可视化表单服务商,流辰信息坚持研发创新理念,努力提升自主研发能力,专为广大客户朋友提供集产品、框架定制、产品交付为一体的一站式服务方案。想要实现流程化办公,欢迎随时来了解低代码技术平台......
  • shell流程控制
    判断fi[root@VM-12-15-centoshome]#vitest.sh#编写如下a=100b=100iftest$[a]-eq$[b];thenecho"true";fi#执行[root@VM-12-15-centoshome]#shtest.shtrueifelse[root@VM-12-15-centoshome]#vitest.sh#编写如下a=100b=101iftest$[a]......
  • 使用joinjs绘制流程图(八)-实战-绘制流程图+节点路径自定义
    效果图代码<template><divclass="app"><divref="myholder"id="paper"></div></div></template><script>import*asjointfrom'@joint/core'import$from'jque......
  • 【django学习-19】基本流程与用户管理界面(原始方式)
    1.安装及创建项目1.1:安装django,pipinstalldjango1.2:创建项目:django-adminstartproject项目名称1.3:创建app:pythonmanage.pystartappapp名称1.4:使用pychram创建项目:1.4.1:注意点,pycharm在标准的基础上默认给咱们加了点东西1.4.2:创建了一个templates目录【删除】1.......
  • 部署Prometheus Operator完整流程及踩坑解决思路
    环境信息软件版本号LinuxCentos7.9k8sv1.26.9Docker25.0.4kube-prometheusv0.13.0nginx-ingress-controllerv1.10.1K8S集群信息(提前安装好自己的集群,本文不再讲解集群的安装)主机名IPk8s-master192.168.2.11k8s-node01192.168.2.1......
  • PHP-FPM(FastCGI Process Manager)处理请求的流程
    PHP-FPM(FastCGIProcessManager)处理请求的流程大致遵循以下步骤,其中您提到的几个关键函数和阶段是PHP-FPM生命周期中的重要组成部分。下面是对您提到步骤的解释及它们如何在PHP-FPM中执行的概述:1.**php_module_startup**:-这个阶段发生在PHP-FPM服务启动时,而非每次请求处理......