一, Hadoop基础架构初步认识 2
一, Hadoop基础架构初步认识
文章目录

问题1:
Q: 为什么不能用配有大量硬盘的数据库做大规模数据分析? 我们为什么需要HADOOP?
A:
- 这两个问题的答案来自于计算机硬盘的另一个发展趋势–>
寻址时间的提升远远不低于传输速率的提升
. 寻址是将磁头移动到特定硬盘位置进行读/写操作的过程, 它是导致硬盘操作延迟的主要原因, 而传输速率取决于硬盘的带宽.
问题2:
MapReduce 与 关系型数据库的区别?
A:
- MapReduce比较适合解决以
批处理方式分析整个数据集
的问题, 尤其是一些特定目的的分析. RDBMS适用于索引后数据集的点查询和更新, 建立索引的数据库系统能够提供对小规模数据的低延迟数据检索和快速更新. - MapReduce适合
一次写入, 多次读取数据
的应用, 关系型数据库则更适合持续更新的数据集.
1.1 Hadoop的四高特点
高可靠性(多个数据副本),
高扩展性(方便增加新节点),
高效性(并行处理计算),
高容错性(自动重新分配失败任务)
1.2 Hadoop 1.x, 2.x, 3.x的发展
- 在Hadoop 1.x时代,hadoop中的MapReduce同时处理业务逻辑和资源的调度,耦合性较大.
- 在hadoop 2.x时代,增加了Yarn去负责资源的调度.MapReduce只负责运算.
- Hadoop 3.x组成上没有变化
1.3 HDFS架构概述-(海量数据的存储)
- HDFS-hdaoop distributed file system,分布式文件系统
1.3.1 HDFS组成
- NameNode(nm): 存储文件的
元数据
,如文件名,文件目录结构,文件属性
(生成时间,副本数,文件权限),以及每个文件的块列表
和块所在的DataNode
等;- DataNode(dm): 在本地文件系统存储
文件块数据
,以及块数据的校验和
;- Secondary NameNode(2nn): 每隔一段时间
对NameNode元数据备份
;
1.4 Yarn架构概述
- Yarn-Yet Another Resource Negotiator,简称Yarn, 除了他还有另一种资源协调者,是Hadoop的资源管理器.
1.4.1 Yarn组成
- ResourceManager(RM):
整个
集群资源(内存,CPU等)的管理者;- NodeManager(NM):
单个
节点服务器资源管理者;- ApplicationMaster(AM):单个任务运行的管理者;
- Container: 容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存,CPU,磁盘,网络等.
概览图:
- 对上图的说明:
- 说明1: 客户端可以有多个;
- 说明2: 集群上可以运行多个ApplicationMaster;
- 说明3: 每个NodeManager上可以有多个Container;
- 说明4: 每个Container分配内存范围1-8GB
1.5 MapReduce架构概述(海量数据的计算)
-
MapReduce 将计算分为两个阶段: Map和Reduce
- Map阶段并行输入处理数据
- Reduce阶段对Map结果进行汇总
-
看图说话:
Mapreduce基本是一个批处理操作系统, 并不适合交互式分析, 典型情况下, 执行查询需要几分钟或者更多时间, 因此, MapReduce更适合那种没有用户在现场查询结果的离线使用场景.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)