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

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...