Hadoop源码解析 1 --- Hadoop工程包架构解析

1 Hadoop中各工程包依赖简述
    Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。
    GoogleCluster: http://research.google.com/archive/googlecluster.html
    Chubby:http://labs.google.com/papers/chubby.html
    GFS:http://labs.google.com/papers/gfs.html
    BigTable:http://labs.google.com/papers/bigtable.html
    MapReduce:http://labs.google.com/papers/mapreduce.html
    很快,Apache上就出现了一个类似的解决方案,目前它们都属于Apache的Hadoop项目,对应的分别是:
      Chubby-->ZooKeeper
      GFS-->HDFS
      BigTable-->HBase
      MapReduce-->Hadoop
    目前,基于类似思想的Open Source项目还很多,如Facebook用于用户分析的Hive。
    HDFS作为一个分布式文件系统,是所有这些项目的基础。分析好HDFS,有利于了解其他系统。由于Hadoop的HDFS和MapReduce是同一个项目,我们就把他们放在一块,进行分析。
    Hadoop包之间的依赖关系比较复杂,原因是HDFS提供了一个分布式文件系统, 该系统提供API,可以屏蔽本地文件系统和分布式文件系统,甚至象Amazon S3这样的在线存储系统。这就造成了分布式文件系统的实现,或者是分布式 文件系统的底层的实现,依赖于某些貌似高层的功能。功能的相互引用,造成了蜘蛛网型的依赖关系。一个典型的例子就是包conf,conf用于读取系统配 置,它依赖于fs,主要是读取配置文件的时候,需要使用文件系统,而部分的文件系统的功能,在包fs中被抽象了。

2 Hadoop和Google分布式系统对应产品

3 Hadoop工程中各工程包依赖图示

4  Hdoop工程中各工程包文件夹图示

5 各包功能

Package

Dependences

tool

提供一些命令行工具,如DistCp,archive

mapreduce

Hadoop的Map/Reduce实现

filecache

提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度

fs

文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口

hdfs

HDFS,Hadoop的分布式文件系统实现

ipc

一个简单的IPC的实现,依赖于io提供的编解码功能

参考:http://zhangyu8374.iteye.com/blog/86306

io

表示层。将各种数据编码/解码,方便于在网络上传输

net

封装部分网络功能,如DNS,socket

security

用户和用户组信息

conf

系统的配置参数

metrics

系统统计数据的收集,属于网管范畴

util

工具类

record

根据DDL(数据描述语言)自动生成他们的编解码函数,目前可以提供C++和Java

http

基于Jetty的HTTP Servlet,用户通过浏览器可以观察文件系统的一些状态信息和日志

log

提供HTTP访问日志的HTTP Servlet

  原创文章欢迎转载,转载时请注明出处。

  作者推荐文章:

    》Java自学之道

    》Eclipse中部署Hadoop2.3.0

    》如何获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络等)

    》如何生成二维码过程详解

转载于:https://www.cnblogs.com/minkaihui/p/4080474.html

Hadoop工程包架构解析相关推荐

  1. 阿里曾文旌:Greenplum和Hadoop对比,架构解析及技术选型-CSDN公开课-专题视频课程...

    阿里曾文旌:Greenplum和Hadoop对比,架构解析及技术选型-6397人已学习 课程介绍         本主题通过介绍 Greenplum 架构实现,及其亮点特性,辅之对比传统关系型数据库, ...

  2. [强烈推荐] 新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析

    新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析 1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. 本文基 ...

  3. 物联网大数据平台TIZA STAR架构解析

    声明:本文为<程序员>原创文章,未经允许不得转载,更多精彩文章请订阅2016年<程序员> 作者:孙杰,天泽信息研发总监,负责物联网大数据平台的研发和管理,同时担任江苏省互联网协 ...

  4. mPaaS 服务端核心组件:移动分析服务 MAS 架构解析

    承接<开篇 | mPaaS 服务端核心组件体系概述>已经介绍移动分析服务 MAS 的主要功能和数据链路情况,包括"基础分析,自定义分析,性能分析,日志管理". 本章节, ...

  5. 案例精选 | 蘑菇街、滴滴、淘宝、微信的组件化架构解析

    导读:前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬 ...

  6. vue2.0 class声明组件_案例精选 | 蘑菇街、滴滴、淘宝、微信的组件化架构解析

    导读:前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬 ...

  7. 蘑菇街、滴滴、淘宝、微信的组件化架构解析,附Demo和PDF

    前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目?.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还 ...

  8. Netty框架架构解析+API+运行流程+网络编程文章集锦

    新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析 <!-- 作者区域 --><div class="author"><a class=& ...

  9. 超低延迟直播架构解析

    本文由百度智能云-视频云直播技术架构师--朱晓恩 在百度开发者沙龙线上分享的演讲内容整理而成.内容从低延时直播背景与机遇出发,分析低延迟直播技术,重点分享百度在低延迟直播技术的实践工作. 文/ 朱晓恩 ...

  10. 基于 Apache Flink + Hologres 的实时推荐系统架构解析

    简介:<实时数仓入门训练营>由阿里云研究员王峰.阿里云高级产品专家刘一鸣等实时计算 Flink 版和 Hologres 的多名技术/产品一线专家齐上阵,合力搭建此次训练营的课程体系,精心打 ...

最新文章

  1. 框架:spring总结
  2. 大学c语言第三章作业,华中科技大学光电子学院C语言第三章
  3. Python数据分析:pandas玩转Excel(一)
  4. 16岁学计算机,16岁学生能学计算机吗
  5. python 验证码test
  6. (第8天) 什么是Mybatis缓存(Cache)
  7. 卸载网易邮箱大师邮件从服务器删除,如何卸载网易邮箱大师 网易邮箱大师卸载教程...
  8. 云课堂智慧职教计算机作业答案,云课堂智慧职教毛概作业答案
  9. git via xkcd
  10. BZOJ 1062: [NOI2008]糖果雨(二维树状数组)
  11. hbuild无法与这台计算机上的,HBuilderX无法连接网络
  12. 为什么连接xshell报错Could not connect to 172.16.16.100 (port 22): Connection failed
  13. Javescript第二周学习
  14. java计算机毕业设计体育新闻网站源码+系统+数据库+lw文档+mybatis+运行部署
  15. Linux 在bash.bashrc中添加 一个目录
  16. 志强预测中国房价到2020年以后才可能会下降
  17. Elasticsearch(全文搜索引擎)
  18. ue4手机ui_UE4虚幻引擎开发手机游戏
  19. Hdu1914稳定婚姻匹配
  20. abap alv新增行数据_ABAP_ALV_最好教程 最全知识整理.doc

热门文章

  1. deepfake ai智能换脸_AI换脸朱茵变杨幂,人工智能时代的“细思恐极”
  2. 【HDOJ6071】Lazy Running(同余最短路思想)
  3. python输入一个序列_Python序列合并,python
  4. 房子买贵了?房价收入比(house-price‑to‑income ratios)指标揭秘真相
  5. Anaconda下载和安装指南(超全)
  6. 在html中frame标签的作用,HTML框架标签frameset、frame、iframe、noframes
  7. 单链表的反转(C++)
  8. No matching distribution found for docx(配置cmd控制台代理)
  9. 凸优化有关的数值线性代数知识 2求解已经因式分解的矩阵的线性方程组
  10. 【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC