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

【Hadoop|HDFS篇】DataNode概述

1. DataNode的工作机制

1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

2)DataNode启动后向NameNode注册,通过后,周期性(6h)的向NameNode上报所有块信息。

DN向NN汇报当前解读信息的时间间隔,默认6小时。

DN扫描自己节点块信息列表的时间,默认为6小时。

3)心跳是每3s一次,心跳返回的结果带有NameNode给该DataNode的命令如复制块数据到另一台机器上,或删除某个数据块,如果超过10分钟没收到某个DataNode的心跳,NameNode认为该DataNode挂掉了。信息不会存储在该DataNode上了。

如图:

我把hadoop104这台机器停掉了,超过了10分种加三十秒没向hadoop102发送心跳,NameNode则认为我这台机器挂掉了。以后Block不会存储在这个节点上了。但能不能恢复呢。是可以的。开启hadoop104并输入命令hdfs --daemon start datanode.

2. 数据的完整性

思考:如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号(1)和绿灯信号(0).但是存储该数据的磁盘坏了,一直显示是绿灯,是否很危险呢?同理DataNode节点上的数据损坏了,但没有发现,是否也很危险呢?该如何解决呢?

如下是DataNode节点保证数据完整性的方法:

  • 当DataNode读取Block时,它会计算CheckSum校验和。
  • 如果计算后的校验和与Block创建的时候的值不一样,说明Block已经损坏。
  • Client读取其他DataNode上的Block。
  • 常见的校验算法crc(32),md5(128),shal(160).
  • DataNode在其文件创建后周期验证CheckSum。

3. DataNode掉线时参数设置

1. DataNode进程死亡或者网络故障造成DataNode无法与NameNode通信。

2. NameNode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂停称作超时时长。

3. HDFS默认的超时时长为10分钟+30s。

如果定义超时时间为TimeOut,则超时时长的计算公式为:

TimeOut = 2*dfs.namenode.heartbeat.recheck-interval + 10*dfs.heartbeat.interval。

而默认的dfs.namenode.heartbeat.recheck-interval大小为5分钟,dfs.heartbeat.interval默认为3s。

绿色框框的表示2s前向NameNode发送心跳。

相关文章:

【Hadoop|HDFS篇】DataNode概述

1. DataNode的工作机制 1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 2)DataNode启动后向NameNod…...

Vue2 VueRouter学习笔记

VueRouter 官方文档 版本对应 vue2:3.x.x vue3:4.x.x 路由:访问路径与vue组件(页面)之间的映射关系 VueRouter:Vue官方提供的插件,本质上是一个 JavaScript 库,用于在 Vue.js 应用…...

3D培训大师,化工企业安全教育与应急演练的新助力

化工企业的生产安全培训,作为保障员工生命安全与企业稳定运营的基石,其重要性不言而喻。传统的培训方式内容僵化、形式单一缺乏互动、效果难以评估,越来越不适应化工企业的实际需求。因此,探索和应用更为高效、创新的培训工具&…...

斯坦福大学论文润色chat-gpt指令

Quick Prompts快速提示 To enhance text clarity-为了增强文本清晰度 As a non-native English speaker, kindly help me revise the following text for improved understand clarity. Please check for spelling and sentence structure errors and suggest alternatives.为…...

简单硬件在环搭建(ROS+Prescan+Carsim+simulink)

本文通过ROSPrescanCarsimsimulink搭建简单的硬件在环仿真测试平台。 系统架构如下: 在Windows中运行prescan场景仿真软件,在jetson Nano中运行ROS,硬件上两台电脑通过一根网线相连传输信息; 1.prescan与carsim的集成 在C:\car…...

【Python 数据分析学习】Pandas基础与应用(1)

题目 1 Pandas 简介1.1 主要特征1.2 Pandas 安装 2 Pandas中的数据结构2.1 Series 数据结构和操作2.1.1 Series的数据结构2.1.2 Seres的操作 2.2 DataFrame 数据结构和操作2.2.1 DataFrame 数据结构2.2.2 Dataframe 操作2.2.3 DateFrame 的特殊操作 2.3 Series 和 DataFrame 的…...

pytorch入门(1)——pytorch加载数据初认识

环境配置及其安装: 2023最新pytorch安装(超详细版)-CSDN博客 pytorch加载数据初认识 Dataset:创建可被Pytorch使用的数据集 提供一种方式获取数据及其label Dataloader:向模型传递数据 为网络提供不同的数据形式 …...

Spring下载文件

1、controller /*** 下载文件通过ID** param auditInformationDTO 靓号稽核文件DTO* param servletResponse 响应体*/ GetMapping(value "/downloadAuditFileByAuditFileId") public void downloadAuditFileByAuditFileId(ModelAttribute final GoodNumberAuditInf…...

如何在数据库中备份表:操作指南与注意事项

在数据库管理中,备份表是一种常见的操作,它可以帮助我们保存数据的当前状态,以便在需要时进行恢复或分析。备份表可以通过创建一个新表并复制原表的所有数据到新表中来实现。 以下是具体的SQL语句: CREATE TABLE backup_table A…...

【数据结构】第八节:链式二叉树

个人主页: NiKo 数据结构专栏: 数据结构与算法 源码获取:Gitee——数据结构 一、二叉树的链式结构 typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left; // 左子树根节点struct BinaryT…...

Fair Graph RepresentationLearning via Diverse Mixture-of-Experts

发表于:WWW23 推荐指数: #paper/⭐⭐ 问题背景: 背景 现实世界的数据很多样,阻止GNN学习公平的表示。当去偏见化后,他们面临着可学知识不足且属性有限的重大问题 解决方法: 应对公平训练导致可学习知识…...

电机驱动开发之驱动板

目录 1.主要器件选型2.原理图设计3.PCB绘制电源调理驱动电路电流反馈位置反馈 4.PCB绘制5.打板验证6.总结 1.主要器件选型 器件参数封装理由LDOLM317DCYR (24V-12V 12V-5V)SOT-223小电流应用 LDO比DCDC噪声小响应快更为稳定预驱FD6288TTssop-20常见无刷…...

STM32F1 HAL库笔记2_HAL 系统驱动程序

1、HAL 固件驱动程序 API 1.1、如何使用此驱动程序 通用 HAL 驱动程序包含一组通用的 API,PPP 外设驱动程序可以使用这些 API 来开始使用 HAL。HAL 包含两个 API 类别: • 常见的 HAL API • 服务 HAL API 1.2、初始化和去初始化函数 本节提供的功能&a…...

el-table实现当内容过多时,el-table显示滚动条,页面不显示滚动条

估计有不少小伙伴在开发公司的ERP使用el-table都会遇到这么一个问题,就是产品经理提出,页面不出现滚动条,因为不美观。但是当el-table内容过多,超过页面的宽度时候,页面就会有滚动条。那应该如何解决呢?能不能让滚动条…...

Java面试篇基础部分-Java中的异常以及异常处理

导语   在实际的开发过程中,往往会遇到各种各样的编程异常,如何处理这些异常,直接会影响到整个程序和系统的稳定性,如果不能在合适的地方抛出合适的异常或者是对异常进行捕获。那么就会影响到整个程序的运行。所以如何处理异常,是作为每个开发者来说必不可少的开发技能。…...

win11 MySQL的坑

最近升级了系统,导致以前的安装的两个版本MySQL服务无法启动,只能在mysql的bin目录,执行mysqld --console才能启动,mysqld都无法启动, 所幸进行了数据库初始化,这次在MySQL的bin目录执行 mysqld或者mysqld …...

stm32单片机个人学习笔记1(简单介绍)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…...

python中@staticmethod、@classmethod用法

1、类的基础介绍 类对象:定义的类就是类对象 类属性:定义在__init__ 外部的变量 类方法:定义在类中,且被classmethod 装饰的方法 实例对象:类对象实例化后就是实例对象 实例属性:定义在__init__内部带…...

Harmony Next 文件命令操作(发送、读取、媒体文件查询)

查询文件位置 hdc shell mediatool query IMG_20240902_204224.jpg 输出示例 拉取文件 hdc file recv /storage/cloud/100/files/Photo/4/IMG_1725281044_036.jpg aa.jpg 发送文件 hdc file send aa.jpg /storage/media/100/local/files/Docs/Download/ab.jpg 下载目录位置…...

Go语言中的链表与双向链表实现

链表基础 链表是一种由有限元素组成的数据结构,其中每个元素至少使用两个内存空间:一个存储实际数据,另一个存储指向下一个元素的指针,从而形成一个元素序列构成链表。链表的第一个元素称为头结点,而最后一个元素通常…...

提示工程架构师用Agentic AI,为智能城市提升品质生活

提示工程架构师:借助Agentic AI提升智慧城市品质生活 一、引言 (Introduction) 钩子 (The Hook) 想象一下,你生活在这样一个城市:每天清晨,你的智能设备会根据当天的天气、你的日程安排,精准推荐最适宜的衣物和出行方式…...

【HFP】规范精讲[15]: HFP蓝牙特有AT命令:免提场景专属功能的控制语言

在蓝牙HFP的命令体系中,除了复用自传统移动通信标准的AT命令,还有一类专门为蓝牙免提场景设计的专属AT命令。这些命令就像为蓝牙免提设备量身定制的方言,针对无线音频传输、设备间状态同步、蓝牙特有功能等场景进行了精准优化,是实…...

OpenClaw学习路径:从Qwen3-32B镜像体验到复杂自动化任务设计

OpenClaw学习路径:从Qwen3-32B镜像体验到复杂自动化任务设计 1. 为什么需要分阶段学习OpenClaw? 第一次接触OpenClaw时,我被它"无所不能"的自动化能力震撼了——这个开源框架能让AI像人类一样操作我的电脑,完成文件整…...

YOLOv12涨点改进| TGRS 2025 | 全网独家创新、涨点上采样改进篇| 引入LSE-FPN拉普拉斯增强特征金字塔,有效提升各层特征的表达,含A2C2f_LSE二次创新,小目标检测高效涨点

一、本文介绍 🔥本文给大家介绍利用 LSE-FPN拉普拉斯增强特征金字塔 改进YOLOv12网络模型, 通过在特征金字塔中加入局部语义增强机制并改进多尺度特征融合方式,有效提升了各层特征的表达能力。该模块能够强化低层特征的语义信息,使模型在小目标检测和复杂场景下表现更优,…...

OneMore图片编辑终极指南:无需外部工具裁剪旋转图像

OneMore图片编辑终极指南:无需外部工具裁剪旋转图像 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore OneMore是一款功能强大的OneNote插件,提供…...

RK3588部署MMPose模型踩坑实录:手把手教你解决ReduceL2算子溢出与精度丢失问题

RK3588部署MMPose模型实战:ReduceL2算子溢出问题的深度解析与手术级修复 当关键点检测模型的精度要求遇上边缘计算设备的硬件限制,RK3588平台上的MMPose部署往往会遭遇令人头疼的算子兼容性问题。其中ReduceL2算子的溢出问题尤为典型——它像一道无形的屏…...

WebRTC信令交换实战:从Socket.io到RTCPeerConnection的完整流程解析

1. WebRTC信令交换的核心逻辑 第一次接触WebRTC时,我被它"点对点直接通信"的特性吸引,但很快发现真正的难点在于如何让两个设备找到彼此——这就是信令交换要解决的问题。信令交换就像两个陌生人交换电话号码的过程,只不过这里交换…...

5分钟搞定ESP32开发:VSCode+ESP-IDF插件极简配置教程

5分钟极速搭建ESP32开发环境:VSCodeESP-IDF全流程指南 在物联网开发领域,ESP32凭借其出色的性价比和丰富的功能接口,已经成为智能硬件开发者的首选平台。但对于刚接触ESP32的开发者来说,传统的环境搭建过程往往充满挑战——从工具…...

想找好用的建筑机器人?专业度是核心考量

在建筑行业智能化转型的浪潮中,建筑机器人正从“概念产品”变为“生产力工具”。面对市场上众多的品牌,如何选择一家专业、可靠、能真正解决问题的供应商,成为许多施工企业决策者的核心关切。本文将结合具体数据和案例,为您提供一…...

如何快速优化AMD系统:5个实用技巧让Ryzen性能更稳定

如何快速优化AMD系统:5个实用技巧让Ryzen性能更稳定 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…...