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

HDFS写数据微观流程

时间:2024-05-15 16:55:01浏览次数:19  
标签:HDFS 队列 微观 packet 数据 流程 block

HDFS微观流程

每个block块都被划分成多个大小为64k的paccket

每个paccket中都有两个部分组成,一个是packet Header,一个是packet Data

packet Header存储一些变量值:

pktlen:(packet总长度)、

offsetInBlock:(记录当前packet在blocck中的位置)、

seqNo:(在同一个block块中的唯一编号(序列号))

lastPaccketInBlock:(是否是block块中的最后一个packet标识)

dataLen:(真实文件数据的大小)

packet Data 真实的数据(包含两部分):

1、chunk checkSum 数据校验文件 (比例1)

2、chunk data 真实的文件数据 (比例128)

客户端发送packet的时候是先将packet发送到数据队列,数据进入到数据队列的时候会先同步一份给确认队列,然后再进行传输,当过程中突然断电,下次启动的时候使用确认队列中的未传输完成的packet先传到数据队列中,再重复之前的流程

HDFS写数据微观流程

标签:HDFS,队列,微观,packet,数据,流程,block
From: https://www.cnblogs.com/peculiar/p/18194226

相关文章

  • HDFS写数据宏观流程
    HDFS写数据宏观流程客户端使用rpc通信框架向NameNode发送请求,NameNode接收并处理用户请求,同时检测用户是否拥有上传文件操作的权限。磁盘空间是否可用,路径是否存在,NameNode会针对这个文件创建一个空的Entry对象,并返回成功的状态给DFS,如果DFS接收到成功的状态,会创建FSDataOutPut......
  • 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......