![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 79
zhangchunminggucas
这个作者很懒,什么都没留下…
展开
-
HDFS1.0源代码解析—DataNode数据接收线程DataXceiverServer与DataXceiver解析
在介绍DataXceiverServer线程之前首先介绍一下,DN启动后一直执行的线程(也就是服务线程)哪些。首选DN本身就是一个线程类,该线程必然会一直执行。在DN的run方法中1432 // start dataXceiveServer1433 dataXceiverServer.start();1434 ipcServer.start();可以看出会启动原创 2012-07-18 21:45:49 · 3178 阅读 · 0 评论 -
HDFS1.0源代码解析—DataNode端数据存储和管理DataStorage和FSDataset解析
本部分主要介绍DN中的数据的存储和管理,我们知道从逻辑上来看我们把数据存储到HDFS这个文件系统中,但是具体数据在每个DN上是如何存储的呢,这其中就牵扯到几个比较大的类DataStorage、Storage、FSDataset等等。一开始读DN源代码这部分就搞得不是很清楚,现在理一下思路,也算给刚开始看得童鞋一些提示。在配置hdfs-site.xml的时候我们会配置这样一个选项 16原创 2012-07-16 16:32:50 · 3915 阅读 · 0 评论 -
HDFS1.0源代码解析—Hadoop的RPC机制之Server端解析
上一篇博客中结合DN的应用简单的介绍了一下Hadoop RPC中client端的基本执行流程,算是给大家阅读源代码的一点提示吧。本文将对RPC的Server端的机制做一下简单的分析,但愿对大家的理解有所帮助,也算是对自己工作的一点总结。按照惯例先来看一下Server类主要的组成部分Listener、Handler、Responser,通过名字很容易看出Server功能由三部分构成,负责获取用户原创 2012-07-10 00:18:42 · 2808 阅读 · 2 评论 -
HDFS1.0源代码解析—Hadoop的RPC机制之Client解析
好久没有更新Hadoop相关的博客了,实在是各种压力缠身,各种东西都没准备好,面对即将找工作有点没有了节奏。ok,开始说说今天的主题Hadoop的RPC机制,之所以在HDFS源码解析的系列中添加这部分的内容,是因为DN和NN交互使用的就是RPC的机制,而RPC机制这部分代码年前也是比较深入的研究过,但是是模仿RPC的机制进行分布式检索的实现。开始先介绍一下RPC几个主要的组成类RPC.ja原创 2012-07-07 00:38:28 · 6772 阅读 · 4 评论 -
HDFS1.0源代码解析—DataNode类主要数据成员和函数
DataNode.java主要包含三个类DataNode主类、DataTransfer和BlockRecord辅助类。一、看主类DataNode:1、主要的数据成员 public DatanodeProtocol namenode = null; public FSDatasetInterface data = null; public DatanodeRegistration d原创 2012-05-28 21:07:58 · 1847 阅读 · 0 评论 -
cassandra1.1.0中Compaction部分源代码解析——LeveledCompactionStrategy
近两天事情有点小多,更新速度不太给力,当然这都是借口。Ok,开始LeveledCompactionStrategy的分析。 前篇博客中也提到Compaction启动是在cfs中进行的,其实流程就是调用相应Compaction的构造函数初始化对应的对象。具体构造函数的完成的任务如下:1)调用父类的构造函数,生成一个延时启动的线程,该线程的功能是在启动5分钟之后调用CompactionMa原创 2012-06-07 00:15:11 · 3598 阅读 · 0 评论 -
Cassandra1.1.0中SizeTieredCompactionStrategy和LeveledCompactionStrategy的理解
最近一段时间因为项目的需要对cassandra的两种compaction机制进行了比较深入的了解,后续的博客中会有会相应源代码的解析。一、首选先来说一下刚发布的1.1.0在compaction这部分的变化,最表面上的变化就是某些函数的名称改变了,比如获取候选compaction集合的函数getBackgroundTasks更名为getNextBackgroudTask,当然主要的变化就出现在这原创 2012-06-02 19:58:26 · 4102 阅读 · 0 评论 -
Cassandra1.1.0中Compaction部分源代码解析——准备篇
Cassandra目前已经发布了1.1.0,更新速度也还算可以,但是Cassandra屡屡被抛弃的事实,让我们不仅对它的前景表示担忧,好了不说废话了进入正题。写这部分动机一是对自己这段时间工作的总结,另外一个就是Cassandra使用者较少,很多的资料都是0.7以前的,希望这部分的内容能给大家带来帮助,当然更渴望大神给予指点。Ok,let’s go! compaction是神马,为神马进行原创 2012-06-04 17:38:30 · 2565 阅读 · 0 评论 -
HDFS1.0源代码解析—DataNode启动(三)
接下来看一下 processCommand(cmd),NameNode会返回那些指令,DataNode响应的动作。 final static int DNA_UNKNOWN = 0; // unknown action final static int DNA_TRANSFER = 1; // transfer blocks to another datanode,在Dat原创 2012-05-13 14:48:31 · 1740 阅读 · 0 评论 -
HDFS1.0源代码解析—数据传输和接受的类BlockSender和BlockReceiver
本次主要介绍DN端进行数据传输和接受的类BlockSender和BlockReceiver,其中BlockSender是读取DN本地block数据传送回数据请求端,BlockReceiver是接受存储数据,写入到本地的block中。首选介绍BlockSender的主要函数的作用:构造函数 94 this.blockLength = datanode.data.getVi原创 2012-07-21 10:59:58 · 2805 阅读 · 0 评论