Hadoop是Apache软件基金会下的顶级开源项目,用以提供:
为一体的整体解决方案。
Apache Hadoop是典型的分布式软件框架,可以部署在1台乃至成千上万台服务器节点上协同工作。
个人或企业可以借助Hadoop构建大规模服务器集群,完成海量数据的存储和计算。
近10年来,大数据技术体系一词一直和Hadoop是划上等号的,提起大数据技术基本就是在提及Hadoop。
随着近些年的发展,越来越多的新技术框架的出现,给大数据技术体系带来了丰富的生态,但是拥有元老地位的Hadoop依旧非常重要。
为什么学习Hadoop有如下几个至关重要的原因:
通常意义上,Hadoop是一个整体,其内部还会细分为三个功能组件,分别是:
HDFS:
HDFS是Hadoop内的分布式存储组件
可以构建分布式文件系统用于数据存储
MAPReduce 组件:
MapReduce是Hadoop内分布式计算组件。提供编程接口供用户开发分布式计算程序
YARN组件:
YARN是Hadoop内分布式资源调度组件。
可供用户整体调度大规模集群的资源使用。
Hadoop创始人:Doug Cutting
Hadoop起源于Apache Lucene子项目:Nutch
Nutch的设计目标是构建一个大型的全网搜索引擎。
遇到瓶颈:如何解决数十亿网页的存储和索引问题
Google三篇论文
《The Google file system》:谷歌分布式文件系统GFS
《MapReduce: Simplified Data Processing on Large Clusters》:谷歌分布式计算框架MapReduce
《Bigtable: A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统
MapReduce组件
HDFS组件
Hadoop发行版本:
Apache开源社区版本
Apache Hadoop
商业发行版本
本课程中使用的是当前最新的Apache Hadoop(即开源版本),版本号为:3.3.4
同时,在课程后期,会带来CDH的内容讲解。
HDF
组件