我是靠谱客的博主 靓丽帆布鞋,最近开发中收集的这篇文章主要介绍【图文跟进 】HADOOP 核心设计——心跳机制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

心跳机制(没有耐心看完,你也不配学会!)

1.心跳机制(heart+beat)

问题1:hdfs集群中namenode负载管理所有的datanode,namenode如何管理?

问题2:怎么获取datanode存活的状况的?

解析:通过心跳策略获取的,datanode在集群运行的过程中会定期的向namenode发送自己的心跳报告,目的是报告namenode自己的存活状态。

心跳报告的周期参数如下图(hdfs-default.xml):

  • 629行中,interval是间隔的意思
  • 631行中,in 后面跟着单位seconds为妙

从图中可以领悟的,datanode每隔3妙回想namenode发送一个心跳报告

 

如果一个datanode宕机了,namenode通过多长时间断定?

考虑到这儿情况,打个比方,某人休克了,暂时停止了呼吸,那你能说这个人死亡了吗?肯定不能丫!那到底怎么断定呢?

namenode连续10次接受不到datanode的心跳报告的时候,会认为当前datanode可能宕机了,这其中要注意到连续这个词,就是说一次为3妙,10此就是30妙,当你检测到第20秒的时候,还没有接收到,但是第22秒接收到了。那这时是接着之前的时间算,还是接着第22秒开始呢?答案是22秒开始

当连续到第11秒的时候任然没有返回心跳报告,这时是什么情况呢,打个比方:你是这个红色向上的箭头,你11天没去上班了,老板可能会觉得你可能挂掉了,或者是出事了!这时候呢,他绝壁打个电话采访你的死亡过程对不,就是这个向下的红色箭头代表,而圆圈中的横杆表示的都是一个后台守护进程,等待当前检测的响应结果,响应了是代表没问题。 

namenode进行datanode的一次检测的时间是(给出源代码):300000毫秒—>300秒—>5分钟

会主动连续检测2次,若两次检测都没有响应,这时则断定当前datenode宕机了。

  • 148行,recheck是复查的意思

总结一哈马匹:namenode 断定datanode宕机的时间是10次*30毫秒+2次*5分钟=10分钟30秒

最后

以上就是靓丽帆布鞋为你收集整理的【图文跟进 】HADOOP 核心设计——心跳机制的全部内容,希望文章能够帮你解决【图文跟进 】HADOOP 核心设计——心跳机制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部