【HDFS】BlockSender发送数据源码详解

news/2024/5/20 1:30:27 标签: hdfs, hadoop, 大数据

本文包含如下内容:
1、BlockSend在发送数据之前读数据文件和meta文件生成的Packet的结构。
2、BlockSender的核心方法:sendBlock和sendPacket。

前言:
BlockSender#sendBlock有几处调用场景,分别是:
1、copyBlock,用于balancing;
2、DataTransfer#run,用于pipeline恢复过程中往新datanode传输已写入数据;
3、readBlock,客户端读数据;
4、scanBlock,VolumeScanner扫描块。周期性扫描块,提前发现block checksum异常 corrupt的块。

一、关于Packet的结构

BlockSender从磁盘读一个block然后发给接收者。

class BlockSender implements java.io.Closeable {
   }

从BlockSender发


http://www.niftyadmin.cn/n/4959286.html

相关文章

Linux 中查看文件第n行内容的命令(实战案例)

Linux 中查看文件第n行内容的命令实战案例 方法1: head -m filename | tail -1 //查看filename文件的第m行(tail -1 是数字1) head -n (数字)(文件名):数字为正数 显示前多少行的文…

前端食堂技术周刊第 95 期:Fresh 1.4、Rollup 迁移至 SWC计划、RSC Devtools、使用开源库的边界、AI 帮你讲论文

美味值:🌟🌟🌟🌟🌟 口味:冰葡美式 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先来看下…

Git+Gitee使用分享

GitGitee快速入门 创建仓库 ​ ​ ​ 初始化本地仓库 验证本地git是否安装好 打开cmd窗口,输入git ​ 这样就OK。 Git 全局设置:(只需要设置一次) 这台电脑如果是第一次使用git,就需要这样初始化一下,这样才知道是谁提交到仓库了。 git confi…

大数据向量检索的细节问题

背景:现有亿级别数据(条数),其文本大小约为150G,label为字符串,content为文本。用于向量检索,采用上次的试验进行,但有如下问题需要面对: 1、向量维度及所需空间 向量维度一版采用768的bert系列的模型推理得到,openai也有类似的功能,不过是2倍的维度(即1536),至…

二、5.单线程与多线程调度

任务轮转工作由任务调度器来完成的,任务调度器就是操作系统中用于把任务轮流调度上处理器运行的一个软件模块,它是操作系统的一部分。调度器在内核中维护一个任务表(也称进程表、线程表或调度表),然后按照一定的算法&a…

Python实现SSA智能麻雀搜索算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…

vue中css修改滚动条样式

vue中css修改滚动条样式 效果图: 代码(在app.vue中全局增加下面样式即可): &::-webkit-scrollbar {width: 8px;height: 8px;border-radius: 3px;}/*定义滚动条轨道 内阴影圆角*/&::-webkit-scrollbar-track {//-webkit-box-shadow: inset 0 0 …