Hadoop - [01] 概述
Hadoop官网:https://hadoop.apache.org/
一、Hadoop是什么
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决海量数据的存储和海量数据的分析计算问题。
广义上讲,Hadoop通常是指一个更广泛的概念 —— Hadoop生态圈。
二、Hadoop的发展历史
Lucene框架是道格卡丁开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎,包括完整的查询引擎和索引引擎。
2021年年底Lucene称为Apache基金会的一个子项目
对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度慢。
学习和模仿Google解决这些问题的办法:微型版Nutch
可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)
- GFS => HDFS
- Map-Reduce => MR
- BigTable => Hbase
Hadoop的优势
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:在集群间分配任务数据,可方便地扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
HDFS的架构
NameNode(nn):存储文件的元数据,如文件名、文件目录属性,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的Datanode等。
DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和
Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
Yarn的架构

ResourceManager:(1)处理客户端请求;(2)监控NodeManager;(3)启动或监控ApplicationMaster;(4)资源的分配与调度。
NodeManager:(1)管理单个节点上的资源;(2)处理来自ResourceManager的命令;(3)处理来自ApplicationMaster的命令
ApplicationMaster:(1)负责数据的切分;(2)为应用程序申请资源并分配给内部的任务;(3)任务的监控与容错
Container:Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
— 要养成终生学习的习惯 —

浙公网安备 33010602011771号