写在前面

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系

解答

心跳机制

主节点和数据节点之间的通信协议如下:

  1. 每隔3s,数据节点都会发送心跳(heartbeat)信息给 NameNode节点,所以 NameNode水远都会实时知道哪些数据节点是在线的;
  2. 每隔1h,数据节点会发送完整的数据块报告给 NameNode,所以NameNode会知道系统上各个文件和相关数据块的准确位置。

工作原理

  1. master启动的时候,会运行 ipc server。
  2. slave启动,连接 master,每隔3秒钟向 master发送心跳,携带状态信息;
  3. master通过这个心跳的返回值,向 slave节点传达指令

作用

  1. NameNode全权管理数据块的复制,它周期性地从集群中的每个 DataNode接收心跳信号和块状态报告(BlockReport)。
    接收到心跳信号意味着该 DataNode节点工作正常。
    块状态报告包含了一个该 DataNode上所有数据块的列表。
  2. Data Node启动后向 NameNode注册,通过后,周期性(1小时)的向 NameNode上报所有的块的列表。
    每3秒向 NamNode发一次心跳,返回 NameNode 给该 DataNode的命令,如复制块数据到另一台机器,或删除某个数据块。
    如果 NameNode超过10分钟没有收到某个 DataNode的心跳,则认为该节点不可用。
  3. hadoop集群刚开始启动时,会进入安全模式(99.9%),就用到了心跳机制。

HDFS心跳机制是什么?相关推荐

  1. HDFS心跳机制--判断DN失联部分的源码解析

    一. 前言 今天朋友问我HDFS中,如果namenode 10分30秒没有收到dn心跳,则判断dn不可用,这个10分30秒是怎么来的.翻源码过程如下.版本:hadoop270 二.Datanode发送 ...

  2. 9、HDFS核心设计--心跳机制、安全模式、副本存放策略、负载均衡

    1.HADOOP 心跳机制(heartbeat) 1. Hadoop 是 主从(Master/Slave )结构,Master 中包括 NameNode 和 ResourceManager,Slave ...

  3. hadoop之MapReduce框架TaskTracker端心跳机制分析(源码分析第六篇)

    1.概述 MapReduce框架中的master/slave心跳机制是整个集群运作的基础,是沟通TaskTracker和JobTracker的桥梁.TaskTracker周期性地调用心跳RPC函数,汇 ...

  4. 4.1 心跳机制和垃圾回收机制

    任务目的 了解心跳机制流程 知晓 NameNode 感知 DataNode 掉线死亡的时长计算公式 学会在配置文件中设置心跳机制 掌握开启 HDFS 垃圾回收机制的方法 任务清单 任务1:Hadoop ...

  5. 聊聊分布式存储系统中的心跳机制以及主节点下发指令给从节点

    心跳( heartbeat )是分布式系统中常用的技术.顾名思义,心跳就是以固定的频率向其他节点汇报当前节点状态的方式.收到心跳,一般可以认为发送心跳的这个节点在当前的网络中状态是良好的. 同时分布式 ...

  6. DataNode 心跳机制源码解读

    一.分布式系统中的心跳技术 心跳是分布式技术中常用的技术手段.心跳,顾名思义,就是以固定的频率向其他节点汇报当前节点状态的方式.收到心跳,一般可以认为发送心跳的这个节点在当前的网络拓扑中是良好的. 当 ...

  7. [心跳] 使用心跳机制实现CS架构下多客户端的在线状态实时更新以及掉线自动重连...

    此文讲述的内容是一个实际项目开发中的一部分内容,笔者将亲身经历写成文章. [背景] 现 需要实现这样的功能:有多个客户端连着同一个服务器.服务器和客户端之间需要"互相"知道彼此的连 ...

  8. 面试官问:服务的心跳机制与断线重连,Netty底层是怎么实现的?懵了

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 心跳机制 何为心跳 所谓心跳, 即在 TCP 长连接中, ...

  9. Netty实现心跳机制与断线重连

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.jianshu.com/p/ ...

最新文章

  1. 格式化verilog/systemverilog代码插件
  2. 有界阻塞队列ArrayBlockingQueue和无界阻塞队列LinkedBlockingQueue
  3. Oracle创建自增id,sql直接创建
  4. leetcode 62. 不同路径(dp)
  5. 删除docker私服镜像脚本
  6. iOS核心动画 - CALayer
  7. Struts2→MCV、环境搭建第一个样例、工作原理、核心文件、XML中常用元素、通配符、action后缀、action接收参数、result、标签
  8. c++笔试题整理(二)
  9. Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
  10. oracle数据库基础知识
  11. mongos魔兽世界模拟器
  12. 苹果手机白屏_为什么安卓用久了会卡顿,苹果用久了会闪退?看完长知识了
  13. 链家混三个月底薪_深圳链家正式入职,我想对应届毕业生说
  14. kubelet nodelost
  15. Unity实用小工具或脚本—3D炫酷UI篇(一)
  16. VPP DPDK,不是翻墙!!
  17. 从毕业到2010的Java程序员生涯(一)
  18. 建设工程项目质量成本优化与控制
  19. Android FlowLayout流式布局
  20. 如果阿里裁员30%是真的,你拿什么和阿里背景的程序员竞争?

热门文章

  1. 什么是压测,为什么要进行压力测试?JMETER工具的使用
  2. Android开发之
  3. 从面试官的角度聊聊培训班对程序员的帮助,同时给培训班出身的程序员一些建议...
  4. css html模板下载插件
  5. 微软官方给出无法安装WIN10更新的终极解决办法:覆盖安装
  6. 计算机网络协议测试技术分析
  7. layer - 简单好用的Web弹出层组件使用详解1(安装配置、消息提示框)
  8. 可重入锁/不可重入锁,公平锁/非公平锁,乐观锁/悲观锁,独享锁/共享锁,偏向锁/轻量级锁/重量级锁,分段锁,自旋锁
  9. 2. 487-3279
  10. python for ArcGIS 绘制西安市板块地图