Hadoop工程包架构解析
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工程包架构解析相关推荐
- 阿里曾文旌:Greenplum和Hadoop对比,架构解析及技术选型-CSDN公开课-专题视频课程...
阿里曾文旌:Greenplum和Hadoop对比,架构解析及技术选型-6397人已学习 课程介绍 本主题通过介绍 Greenplum 架构实现,及其亮点特性,辅之对比传统关系型数据库, ...
- [强烈推荐] 新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析
新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析 1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. 本文基 ...
- 物联网大数据平台TIZA STAR架构解析
声明:本文为<程序员>原创文章,未经允许不得转载,更多精彩文章请订阅2016年<程序员> 作者:孙杰,天泽信息研发总监,负责物联网大数据平台的研发和管理,同时担任江苏省互联网协 ...
- mPaaS 服务端核心组件:移动分析服务 MAS 架构解析
承接<开篇 | mPaaS 服务端核心组件体系概述>已经介绍移动分析服务 MAS 的主要功能和数据链路情况,包括"基础分析,自定义分析,性能分析,日志管理". 本章节, ...
- 案例精选 | 蘑菇街、滴滴、淘宝、微信的组件化架构解析
导读:前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬 ...
- vue2.0 class声明组件_案例精选 | 蘑菇街、滴滴、淘宝、微信的组件化架构解析
导读:前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬 ...
- 蘑菇街、滴滴、淘宝、微信的组件化架构解析,附Demo和PDF
前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目?.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还 ...
- Netty框架架构解析+API+运行流程+网络编程文章集锦
新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析 <!-- 作者区域 --><div class="author"><a class=& ...
- 超低延迟直播架构解析
本文由百度智能云-视频云直播技术架构师--朱晓恩 在百度开发者沙龙线上分享的演讲内容整理而成.内容从低延时直播背景与机遇出发,分析低延迟直播技术,重点分享百度在低延迟直播技术的实践工作. 文/ 朱晓恩 ...
- 基于 Apache Flink + Hologres 的实时推荐系统架构解析
简介:<实时数仓入门训练营>由阿里云研究员王峰.阿里云高级产品专家刘一鸣等实时计算 Flink 版和 Hologres 的多名技术/产品一线专家齐上阵,合力搭建此次训练营的课程体系,精心打 ...
最新文章
- 框架:spring总结
- 大学c语言第三章作业,华中科技大学光电子学院C语言第三章
- Python数据分析:pandas玩转Excel(一)
- 16岁学计算机,16岁学生能学计算机吗
- python 验证码test
- (第8天) 什么是Mybatis缓存(Cache)
- 卸载网易邮箱大师邮件从服务器删除,如何卸载网易邮箱大师 网易邮箱大师卸载教程...
- 云课堂智慧职教计算机作业答案,云课堂智慧职教毛概作业答案
- git via xkcd
- BZOJ 1062: [NOI2008]糖果雨(二维树状数组)
- hbuild无法与这台计算机上的,HBuilderX无法连接网络
- 为什么连接xshell报错Could not connect to 172.16.16.100 (port 22): Connection failed
- Javescript第二周学习
- java计算机毕业设计体育新闻网站源码+系统+数据库+lw文档+mybatis+运行部署
- Linux 在bash.bashrc中添加 一个目录
- 志强预测中国房价到2020年以后才可能会下降
- Elasticsearch(全文搜索引擎)
- ue4手机ui_UE4虚幻引擎开发手机游戏
- Hdu1914稳定婚姻匹配
- abap alv新增行数据_ABAP_ALV_最好教程 最全知识整理.doc
热门文章
- deepfake ai智能换脸_AI换脸朱茵变杨幂,人工智能时代的“细思恐极”
- 【HDOJ6071】Lazy Running(同余最短路思想)
- python输入一个序列_Python序列合并,python
- 房子买贵了?房价收入比(house-price‑to‑income ratios)指标揭秘真相
- Anaconda下载和安装指南(超全)
- 在html中frame标签的作用,HTML框架标签frameset、frame、iframe、noframes
- 单链表的反转(C++)
- No matching distribution found for docx(配置cmd控制台代理)
- 凸优化有关的数值线性代数知识 2求解已经因式分解的矩阵的线性方程组
- 【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC