当前位置: 首页 > backend >正文

hadoop三大组件的结构及各自的作用

1 HDFS

1.1功能 HDFS 是 Hadoop 的分布式文件系统,用于存储和管理海量数据。它具有高容错性、高吞吐量和可扩展性,能够在多个节点上存储和管理大规模数据

1.2架构:采用主从架构,由一个 NameNode 和多个 DataNode 组成。NameNode 负责管理文件1统的元数据,DataNode 负责存储实际的数据.

1.3工作原理:将大文件分割成多个固定大小的块(默认 128MB),并将这些块存储在不同的 DataNode 上,每个块会存储多个副本(默认 3 个副本),以提高数据的可靠性和容错性。当需要读取文件时,客户端会从 NameNode 获取文件的块信息,然后直接从 DataNode 读取数据。

2.YARN(Yet Another Resource Negotiator)

2.1功能:YARN 是 Hadoop 的资源管理系统,负责管理和调度集群中的计算资源,使得多个应用程序可以共享集群资源。

2.2架构:主要由 ResourceManager 和 NodeManager 组成。ResourceManager 负责整个集群的资源管理和调度,NodeManager 负责每个节点的资源管理和监控。

2.3工作原理:当应用程序提交到 YARN 时,ResourceManager 会根据资源队列的配置和应用程序的需求,将资源分配给 ApplicationMaster。ApplicationMaster 负责管理应用程序的生命周期,包括任务的分配、启动和监控。NodeManager 负责管理节点上的资源,根据 ResourceManager 的指示,分配和管理节点上的计算资源,并在需要时启动和停止容器。

3.MapReduce

3.1功能:MapReduce 是 Hadoop 的编程模型和框架,用于处理大规模数据集。它将大数据处理任务分解为多个小任务,并在集群中的多个节点上并行执行这些小任务。

3.2工作原理:MapReduce 任务分为 Map 阶段和 Reduce 阶段。Map 阶段负责处理输入数据并产生一系列的键值对,Reduce 阶段负责对 Map 阶段输出的键值对进行汇总和整理。在执行过程中,MapReduce 框架会自动进行任务的分割、调度和同步。开发人员只需要编写 Map 和 Reduce 函数即可完成数据处理任务,而无需关心底层细节。

http://www.xdnf.cn/news/197.html

相关文章:

  • Python作业4 文本词云统计,生成词云
  • 欣佰特携数十款机器人相关前沿产品,亮相第二届人形机器人和具身智能行业盛会
  • 在国产麒麟Kylin Linux Advanced Server V10中使用QT5开发环境并支持中文输入
  • SimBody安装
  • AI中台系统设计方案探讨
  • CentOS 7系统yum报错解决方案(CentOS 7官方EOL问题修复)
  • 健康养生:开启活力生活新篇章
  • Oracle AWR快照保留策略及其修改
  • mybatis plus打印sql日志到指定目录
  • js前端复制对象
  • 神经接口安全攻防:从技术漏洞到伦理挑战
  • 有什么好用的工程项目施工数据管理信息系统?这类系统有何好处?
  • 麒麟操作系统漏洞修复保姆级教程弱(一)算法漏洞修复
  • 【数据融合实战手册·实战篇】二维赋能三维的5种高阶玩法:手把手教你用Mapmost打造智慧城市标杆案例
  • 重构未来智能:Anthropic 解码Agent设计哲学三重奏
  • Unity-微信截图功能简单复刻-02屏幕采样
  • 青少年编程与数学 02-016 Python数据结构与算法 28课题、图像处理算法
  • 深入理解红黑树:原理、实现与应用
  • openbmb/MiniCPM-V-2_6 和 AIDC-AI/Ovis2-1B 的网络结构体对比
  • 日本公司如何实现B2B商城订货系统的自动化和个性化?
  • 电子电器架构 --- EOL 工厂刷写(产线)
  • Debian服务器环境下env变量丢失怎么办
  • 万物互联时代,AWS IoT Core如何构建企业级物联网中枢平台?
  • UML 状态图:以网络媒体教学系统为例解析
  • Python项目--基于机器学习的股票预测分析系统
  • 路由交换网络专题 | 第五章 | ISIS | RIP | 路由引入 | 策略路由
  • 探索大语言模型(LLM):循环神经网络的深度解析与实战(RNN、LSTM 与 GRU)
  • 工业触摸显示器助力智慧工业实验室发展
  • Privacy Risks of General-Purpose Language Models
  • 【第48节】探究汇编使用特性:从基础到混合编程