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、磁盘、网络等。
— 要养成终生学习的习惯 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南