Hadoop源码阅读之三个核心模块代码组织情况(一)


(一)Hadoop下三大核心项目说明:
1.Common----Hadoop项目的core部分更名为Hadoop Common。Common为Hadoop的其他项目提供了一些常用的工具,主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们在通用硬件上搭建云计算环境提供的基本的服务,并为之该平台上的软件开发提供了所需的API。
2. HDFS----HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

3. MapReduce----MapReduce是一种计算模型,用以进行大数据量的计算。

(二)三大核心项目目录结构

1.Common: 源码位于src/core文件夹下
src/core:
    --org.apache.hadoop
        --classification
        --conf
        --filecache(空)
        --fs
            --ftp
            --kfs
            --permission
            --s3
            --s3native
            --shell
        --http
            --lib
        --io
            --compress
                --bzip2
                --snappy
                --zlib
            --file.tfile
            --nativeio
            --retry
            --serializer
        --ipc
            --metrics
        --jmx
        --log
            --metrics
        --metrics
            --file
            --ganglia
            --jvm
            --spi
            --util
        --metrics2
            --filter
            --impl
            --lib
            --sink
                --ganglia
            --source
            --util
        --net
        --record
            --compiler
                --ant
                --generated
            --meta
        --security
            --authentication
                --client
                --server
                --util
            --authorize
            --token
                --delegation
        --util
            --bloom
            --hash
2. HDFS:源码位于src/hdfs文件夹下
src/hdfs
    org.apache.hadoop.hdfs
        --protocol
        --security.token
            --block
            --delegation
        --server
            --balancer
            --common
            --datanode
                --metrics
                --web.resources
            --namenode
                --metrics
                --web.resources
            --protocol
        --tools
        --util
        --web
            --resources  
3.MapReduce:源码位于src/mapred文件夹下
src/mapred
    --org.apache.hadoop
        --filecache
        --mapred
            --jobcontrol
            --join
            --lib
                --aggregate
                --db
            --pipes
            --tools
        --mapreduce
            --example(空)
            --lib
                --db
                --fieldsel
                --input
                --jobcontrol
                --map
                --output
                --partition
                --reduce
            --security
                --token
                    --delegation
            --server
                --jobtracker
                --tasktracker
            --split


相关内容