摘要: PendingReplicationBlocks实现了所有正在复制的数据块的记账工作。它实现以下三个主要功能: 1、记录此时正在复制的块; 2、一种对复制请求进行跟踪的粗粒度计时器; 3、一个定期识别未执行复制请求的线程。 我们先看下它内部有哪些成员变量,如下: [java] view plain  阅读全文
posted @ 2016-06-03 14:44 吉日木图 阅读(444) 评论(0) 推荐(0) 编辑
摘要: EditsDoubleBuffer是为edits准备的双缓冲区。新的编辑被写入第一个缓冲区,同时第二个缓冲区可以被flush。为edits准备的双缓冲区。新的编辑被写入第一个缓冲区,同时第二个缓冲区可以被flush。在其内部,有两个重要的缓冲区成员变量,如下: [java] view plain c 阅读全文
posted @ 2016-06-03 14:43 吉日木图 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 在《HDFS源码分析之EditLogTailer》一文中,我们详细了解了编辑日志跟踪器EditLogTailer的实现,介绍了其内部编辑日志追踪线程EditLogTailerThread的实现,及其线程完成编辑日志跟踪所依赖的最重要的方法,执行日志追踪的doTailEdits()方法。在该方法的处理 阅读全文
posted @ 2016-06-03 14:41 吉日木图 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 在《HDFS源码分析EditLog之获取编辑日志输入流》一文中,我们详细了解了如何获取编辑日志输入流EditLogInputStream。在我们得到编辑日志输入流后,是不是就该从输入流中获取数据来处理呢?答案是显而易见的!在《HDFS源码分析之EditLogTailer》一文中,我们在讲编辑日志追踪 阅读全文
posted @ 2016-06-03 14:41 吉日木图 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 在FSNamesystem中,有这么一个成员变量,定义如下: [java] view plain copy /** * Used when this NN is in standby state to read from the shared edit log. * 当NameNode处于stand 阅读全文
posted @ 2016-06-03 14:40 吉日木图 阅读(730) 评论(0) 推荐(0) 编辑
摘要: HDFS源码分析心跳汇报之周期性心跳,近期推出! 阅读全文
posted @ 2016-06-03 14:39 吉日木图 阅读(186) 评论(0) 推荐(0) 编辑
摘要: HDFS源码分析心跳汇报之DataNode注册,近期推出! 阅读全文
posted @ 2016-06-03 14:38 吉日木图 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 在《HDFS源码分析心跳汇报之数据块增量汇报》一文中,我们详细介绍了数据块增量汇报的内容,了解到它是时间间隔更长的正常数据块汇报周期内一个smaller的数据块汇报,它负责将DataNode上数据块的变化情况及时汇报给NameNode。那么,时间间隔更长的正常数据块汇报都做了些什么呢?本文,我们将开 阅读全文
posted @ 2016-06-03 14:37 吉日木图 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 在《HDFS源码分析心跳汇报之数据结构初始化》一文中,我们了解到HDFS心跳相关的BlockPoolManager、BPOfferService、BPServiceActor三者之间的关系,并且知道最终HDFS的心跳是通过BPServiceActor线程实现的。那么,这个BPServiceActor 阅读全文
posted @ 2016-06-03 14:36 吉日木图 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 在《HDFS源码分析心跳汇报之BPServiceActor工作线程运行流程》一文中,我们详细了解了数据节点DataNode周期性发送心跳给名字节点NameNode的BPServiceActor工作线程,了解了它实现心跳的大体流程: 1、与NameNode握手: 1.1、第一阶段:获取命名空间信息并验 阅读全文
posted @ 2016-06-03 14:35 吉日木图 阅读(586) 评论(0) 推荐(0) 编辑