参考文档:《Hadoop权威指南(第4版)》
[1] HDFS:Hadoop Distribution File System Hadoop分布式文件系统
[2] YARN:Yet Another Resource Negotiator Hadoop资源管理与调度器
[3] HA:High Availability 高可用
[4] QJM:Quorum Journal Manager 群体日志管理器
1. Google与Hadoop的前世今生
第一篇论文:GFS
2003年谷歌发表了 “The Google File System(谷歌文件系统,简称GFS)”的论文,GFS的架构能够满足在网页爬取和索引过程中产生的超大文件的存储需求。于是,在2004年Nutch团队开始做GFS的开源版本实现,也就 是Nutch分布式文件系统(NDFS)。
第二篇论文:MapReduce
2004年谷歌发表了“MapReduce:Simplified Data Processing on Large Cluster(大型集群的数据简化处理)”的论文。2005年,Nutch团队在Nutch上实现了MapReduce。
2006年2月,Nutch开发人员将NDFS和MapReduce移除Nutch形成一个独立的项目,命名为Hadoop。这个名字不是缩写,是生造出来的。
第三篇:BigTable
2006年谷歌发表了“BigTable:A Distributed Storage System for Structured Data(一个结构化数据的分布式存储系统)”的论文。Powerset公司根据BigTable的思想,发起了HBase,即Hadoop Database。
2008年1月,Hadoop成为Apache的顶级项目。背后主要的公司为雅虎,主要用Hadoop来支撑雅虎的搜索引擎系统。
2013年 Hadoop 2.0发布
2017年 Hadoop 3.0 发布
2.Hadoop主要的发行版
- Apache Hadoop原始版本
- Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)
- Hortonworks版本(Hortonworks Data Platform,简称“HDP”)
- MapR
- 其他的发行版,如华为、Intel等。
3.Hadoop生态圈
- Hadoop从最开始的HDFS和MapReduce发展至今,已经形成一个庞大的生态系统。主要包括:
- HDFS:分布式文件系统
- YARN:资源管理与调度系统
- MapReduce:分布式处理框架
- Pig、Hive:类SQL的数据查询
- Mahout、Spark MLib:机器学习库
- HBase:分布式列数据库
- Zookeeper:集群管理
- Oozie:任务调度
- Flume、Sqoop:数据导入导出
- Solr&Lucene:搜索与索引
- Ambari:集群监控与维护
参考:
[1] https://www.edureka.co/blog/hadoop-ecosystem
[2] https://data-flair.training/blogs/hadoop-ecosystem-components/
4.Hadoop主要模块
-
Hadoop Common
为其他Hadoop模块提供基础支持,可以看做是一个公共库。
-
HDFS
高吞吐量、高可用的分布式文件系统。
image
HDSF集群有两类节点,以管理节点(NameNode)-工作节点(DataNode)模式运行:
- NameNode
管理文件系统的命名空间,维护着文件系统树上及整棵树内所有的文件和目录。
- DataNode
文件系统的工作节点,负责存储和检索数据,并将存储的块的列表定期发送给NameNode管理节点
- SecondaryNameNode
也叫辅助NameNode,主要作用就是定期合并编辑日志与命名空间镜像,以防止编辑日志过大。
-
YARN
集群资源管理与任务调度框架
image
YARN也包含两个核心服务:资源管理器(ResourceManager)和节点管理器(NodeManager):
- ResourceManager
管理集群上资源的使用
- NodeManager
运行在集群中所有节点上并启动和监控容器。
-
MapReduce
大数据并行处理框架
网友评论