Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以借助其解决海量数据的存储及海量数据的分析计算问题。Hadoop核心组件包括分布式文件系统(HDFS)、资源管理调度框架(Yarn)以及分布式计算框架(MapReduce)等。
一、Hadoop是什么
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力,解决海量数据的存储及海量数据的分析计算问题。
广义上的Hadoop是指Hadoop的整个技术生态圈;狭义上的Hadoop指的是其核心三大组件,包括HDFS、YARN及MapReduce.
二、Hadoop的发展史
Hadoop起源于Lucene框架,后其创始人为解决对于海量数据存储困难、检索速度慢的问题,借鉴了Google的大数据神级三大思想,创建了Nutch,后被分离出来,纳入Apache的项目Hadoop中。因此说Google的大数据三大思想是Hadoop的思想之源也不为过。
三、Hadoop 核心组件
1、HDFS(Hadoop分布式文件系统)
HDFS(Hadoop Distributed File System) 负责海量数据的存储,是一个高度容错性系统,能检测和应对硬件故障。主要角色有NameNode, DataNode, SecondaryNameNode. HDFS采用 master/slave 架构,一个HDFS由一个NameNode和一定数目的DataNodes组成。
2、YARN(资源调度管理框架)
YARN(Yet Another Resource Negotiator) 取代了Hadoop1.x中MapReduce的资源调度管理,为上层应用(Spark, Hive-MR任务等)提供统一的资源调度管理,Hadoop2.x以后MapReduce只是运行在YARN之上的一个纯粹的计算框架。
在整个YARN资源调度管理系统当中, ResourceManager作为Master ,各个节点的NodeManager作为Slave. ResorceManager组件和HDFS的NameNode部署在一个节点上,而YARN的NodeManager、ApplicationMaster及Container(代表计算资源)和HDFS的DataNode部署在一起。
3、MapReduce(分布式计算框架)
MapReduce是一种计算模型,用于处理大数据量的计算,其计算过程可以分为两个阶段(实质上是三个阶段),即Map和Reduce.
以上就是关于Hadoop组件的知识希望对大家有帮助。