Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(下)
来源:互联网 发布:wp code highlight.js 编辑:程序博客网 时间:2024/05/17 01:14
在《Hadoop源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(上)》这篇文章中,我们介绍了BPServiceActor线程的工作大体流程,至于具体的细节部分,只是讲到了完成与NameNode的连接并进行两次握手的connectToNNAndHandshake()方法,还有一个offerService()方法,用于向NameNode发送心跳,并且接受来自NameNode的信息,实际上就是数据块的汇报。我们重点看下offerService()方法是如何发起数据块汇报的:
在BPServiceActor工作线程offerService()方法的while循环内,数据块汇报blockReport()方法执行时,仅有下面的waitTime的等待时间,其他情况下都是立即执行的。那么等待时间waitTime是如何计算的呢?它就是心跳时间间隔减去上次心跳后截至到现在已过去的时间,并且,如果等待时间waitTime大于0,且不是立即发送数据块增量汇报(标志位sendImmediateIBR为false),那么才会利用pendingIncrementalBRperStorage进行等待,并加synchronized关键字进行同步。
接下来看实现正常数据块汇报的blockReport()方法,代码如下:
0 0
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(下)
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(上)
- HDFS源码分析心跳汇报之BPServiceActor工作线程运行流程
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之DataNode端数据块增量汇报
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之NameNode端处理数据块增量汇报
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)整体结构
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)数据结构初始化
- Hadoop-2.4.1源码分析--由HDFS心跳检测想到的Keepalived
- HDFS源码分析心跳汇报之周期性心跳
- hadoop源码解析之hdfs读取数据全流程分析
- Hadoop源码分析之心跳机制
- Hadoop源码分析之心跳机制<转>
- Hadoop源码分析之心跳机制
- Hadoop源码分析之心跳机制
- Hadoop源码分析24 JobTracker启动和心跳处理流程
- HDFS源码分析心跳汇报之整体结构
- HDFS源码分析心跳汇报之数据结构初始化
- HDFS源码分析心跳汇报之数据块增量汇报
- 微信jssdk分享功能开发及解决ajax跨域的问题
- 剑指offer(21)-二叉树中和为某一值的路径
- php总结二
- listview 点击item变黄色
- JavaScript排序算法动画演示效果实现
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(下)
- Java学习之集合框架(上)
- push pop 动画突然消失的解决方案
- spring mvc中的初始化设置
- 强悍的 Linux —— 查看命令行执行状态
- Android Studio 常见问题及解决
- Beaglebon 使用SD卡移植字符界面版debian
- shell awk 入门
- 【步兵 lua】匹配模式 之 花式split