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

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

1. HDFS(Hadoop Distributed File System)

结构

  • NameNode:是HDFS的主节点,负责管理文件系统的元数据(如文件和目录的结构、文件块的存储位置等)。它维护着文件系统树以及文件树中所有文件和文件夹的元数据。

  • DataNode:是HDFS的从节点,负责存储实际的数据块。数据会被分割成固定大小的块(默认是128MB),然后分散存储在不同的DataNode上。

  • Secondary NameNode:辅助NameNode,帮助NameNode进行元数据的检查点操作,定期合并fsimage(文件系统镜像)和editlog(编辑日志),减轻NameNode的压力。

作用

  • 高容错性:通过在多个DataNode上存储数据的多个副本(默认是3副本),HDFS能够自动保存多个副本,当某个节点出现故障时,可以从其他副本中恢复数据。

  • 高吞吐量:适合大规模数据集的处理,能够以较高的吞吐量来访问数据。它通过分布式存储,将数据分散到多个节点上,从而提高数据的读写效率。

  • 适合大数据存储:能够存储海量的数据,支持大规模数据的存储和处理。

  • 高可靠性:通过NameNode对元数据的管理和DataNode对数据块的存储,保证了数据的完整性和可靠性。

2. MapReduce

结构

  • JobTracker:在早期版本的Hadoop中,负责调度和管理MapReduce作业。它会将作业分解为多个任务,并分配给TaskTracker去执行。

  • TaskTracker:负责执行具体的Map和Reduce任务,并将任务的执行情况汇报给JobTracker。

  • 在Hadoop 2.x及以后版本中,MapReduce的资源管理职责被转移到了YARN框架中,由YARN的ResourceManager和NodeManager来管理资源分配和任务调度。

作用

  • 分布式计算:MapReduce是一种分布式计算模型,能够将大规模数据的处理任务分解为多个小任务,并在多个节点上并行执行,从而提高计算效率。

  • 易于编程:提供了简单的编程模型,用户只需要编写Map函数和Reduce函数,就可以实现大规模数据的处理。Map函数负责处理输入的键值对,生成中间结果;Reduce函数负责对中间结果进行归并,生成最终结果。

  • 高效处理大规模数据:适合处理海量数据,能够高效地对大规模数据进行批处理。通过分布式计算,将数据分散到多个节点上进行处理,大大提高了数据处理的速度。

  • 容错性:具有良好的容错机制,当某个节点出现故障时,会自动重新分配任务到其他正常节点上执行,保证作业的正常完成。

3. YARN(Yet Another Resource Negotiator)

结构

  • ResourceManager:是YARN的主节点,负责整个集群的资源管理和调度。它会接收应用程序的资源请求,并根据资源分配策略将资源分配给各个应用程序。

  • NodeManager:是YARN的从节点,运行在每个节点上,负责管理单个节点上的资源(如CPU、内存等),并接收ResourceManager的指令来启动或停止应用程序的容器(Container)。

  • ApplicationMaster:是每个应用程序的管理组件,负责协调应用程序的运行,向ResourceManager申请资源,并与NodeManager通信以启动和管理应用程序的容器。

作用

  • 资源管理:负责管理集群中的资源(如CPU、内存等),并根据应用程序的需求合理分配资源。通过ResourceManager和NodeManager的协同工作,能够有效地管理集群资源,提高资源利用率。

  • 任务调度:根据资源分配策略和应用程序的优先级,合理地调度任务。它能够动态地分配资源,使得多个应用程序可以同时运行,提高集群的利用率和吞吐量。

  • 多框架支持:除了支持MapReduce框架外,还支持其他计算框架(如Spark、Flink等)。不同的计算框架可以通过YARN来申请资源,从而实现多种计算框架在同一集群上的运行,提高了集群的通用性和灵活性。

  • 高可用性:通过ResourceManager的高可用性配置,可以避免单点故障,保证集群的稳定运行。当主ResourceManager出现故障时,备用ResourceManager可以接管集群的管理,保证集群的正常运行。

相关文章:

  • 使用Jasypt对配置文件内容加密
  • 十天借助 Trae 实现 “幸运塔塔屋” 小程序时光记忆功能之旅
  • 学术AI工具推荐
  • 前端零基础入门到上班:Day7——表单系统实战全解析
  • 2025最新系统 Linux 教程(四)
  • Hadoop的三大结构及其作用
  • 开源 vs. 闭源:大模型的未来竞争格局
  • 学习设计模式《一》——简单工厂
  • 5.Rust+Axum:打造高效错误处理与响应转换机制
  • 4.18日学习--引用
  • LINUX418 加载YUM源 wireshark ping程序 解析
  • C++: 类和对象(中)
  • 从代码学习深度学习 - 小批量随机梯度下降 PyTorch 版
  • 从人工到智能:外呼系统如何重构企业效率新生态
  • RFID图书管理系统如何重构数字化仓储管理新生态
  • 架构师面试(三十二):注册中心数据结构
  • 米托蒽醌和阿克拉霉素 髓外 aml 疗效
  • 过去十年前端框架演变与技术驱动因素剖析
  • 从PDF到播客:MIT开发的超越NotebookLM的工具
  • 获取视频封面
  • 中国围棋协会将不组队参加今年的LG杯世界棋王赛
  • 广电总局加快布局超高清视听产业链,多项成果亮相
  • 周继红当选中国泳协主席,曾为国摘得首枚奥运跳水金牌
  • 陕西一批干部任职公示:西安市未央、雁塔、阎良区委书记拟调整
  • 万斯偕印裔妻子访问印度,4天行程能否推进美印贸易谈判?
  • 上海黄金交易所:贵金属价格波动剧烈,提示投资者做好风险防范