概述
心跳机制(没有耐心看完,你也不配学会!)
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 核心设计——心跳机制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复