1.1.1Hadoop的诞生
Hadoop是由Apache Lucene创始人Doug Cutting创建的。它起源于开源搜索引擎Apache Nutch。Nutch项目开始于2002年,是一个可以运行的网页爬取工具和搜索引擎系统,但是这个系统无法解决数十亿的搜索问题。
三篇划时代论文的诞生对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。
1.1.2Hadoop重要里程碑
2008年1月,Hadoop成为Apache的顶级项目。背后主要的公司为雅虎,主要用Hadoop来支撑雅虎的搜索引擎系统。
2013年 Hadoop 2.0发布
2017年 Hadoop 3.0 发布
1.1.3Hadoop主要发行版本
Apache Hadoop原始版本
Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)
Hortonworks版本(Hortonworks Data Platform,简称“HDP”)
MapR
此外,还有一些其他的发行版,如华为、Intel等。
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/
1.3.1 Hadoop Common
为其他Hadoop模块提供基础支持,可以看做是一个公共库。
图片来源:http://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
HDSF集群有两类节点,以管理节点(NameNode)-工作节点(DataNode)模式运行。
1.3.2.1 NameNode
管理文件系统的命名空间,维护着文件系统树上及整棵树内所有的文件和目录。
1.3.2.2DataNode
文件系统的工作节点,负责存储和检索数据,并将存储的块的列表定期发送给NameNode管理节点。
1.3.2.3 ondaryNameNode
也叫辅助NameNode,主要作用就是定期合并编辑日志与命名空间镜像,以防止编辑日志过大。
图片来源:http://hadoop.apache.org/docs/r2.7.6/hadoop-yarn/hadoop-yarn-site/YARN.html
YARN也包含两个核心服务:资源管理器(ResourceManager)和节点管理器(NodeManager)。
1.3.3.1 ResourceManager
管理集群上资源的使用
1.3.3.2 NodeManager
运行在集群中所有节点上并启动和监控容器。
1.3.4 MapReduce
大数据并行处理框架
1.4.1 基础软件准备
基础软件主要包括:
链接:https://pan.baidu.com/s/1qQxIoR985XxKIj8zzIFH7g 提取码:wayj
1.4.2 操作系统安装
参见Linux基础视频课程:https://www.cniao5.com/course/10244
[1] http://dicoding.site/archives/388 伪分布式安装
[2] http://dicoding.site/archives/209 分布式安装
1.5.1 Hadoop安装包
这里采用Hadoop2.7.7 版本,可以在官网http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz 或者我的百度网盘:https://pan.baidu.com/s/1qQxIoR985XxKIj8zzIFH7g 提取码:wayj
1.5.2 核心配置文件
Hadoop主要有四个核心配置文件,如下:
n core-site.xml:配置通用属性
n hdfs-site.xml:配置HDFS的属性
n mapred-site.xml:配置MapReduce的属性
n yarn-site.xml:配置YARN的属性