现在的位置: 首页 > 云计算 > 正文

学习Hadoop的源码

2013年12月21日 云计算 ⁄ 共 916字 ⁄ 字号 评论关闭
程序员最喜欢的衬衫

近两年在云计算方面折腾,从基础知识、到理论算法,进一步Hadoop的集群搭建、Hbase,Hive,Pig等一系列的研究;

甚至Avro,ZooKeepr,mahout以及Chukwa,都有所涉足;读书破万卷,下笔有如神;

对此用的再多,不如下手一试,而阅读Hadoop的源码结构也是一种修炼内功的不必可少之路;

1:首先再看源码之前,至少要了解Hadoop有哪些东西,至少需要掌握了如下几点

Hadoop提供了什么东东

HDFS,Map-Reduce当然是必不可少的

Hadoop的集群搭建模式,namenode,datanode,jobtracker,tasktracker这些职责都是必不可少的。

以及MR2(YARN)的第二代集群管理架构

还有管理UI

2:获取源码

通过工具SVD从http://svn.apache.org/repos/asf/hadoop获取源码

源码结构至少包括:

assemblies

client

common-project

dist

hdfs-project

mapreduce-project

maven-plugins

minicluster

project

project-dist

tools

yarn-project

接下来进一步对源码学习和分析

3:HDFS部分

核心代码在main中的java,native,webapps[对应的hdfs的管理界面]

org.apache.hadoop.fs包下面只有5个类

BlockStorageLocation extends BlockLocation

        Hdfs  extends AbstractFileSystem

        HdfsBlockLocation extends BlockLocation

        HdfsVolumeId implements VolumeId

        VolumeId [interface]

org.apache.hadoop.hdfs包还包含如下子包

client

net

protocol

protocolProtocolBuffers

qjournal

security

server

tools

util

web

还还有一系列的类

打造一个专门的File System确实需要关注更多的东东

抱歉!评论已关闭.