当前位置: 代码迷 >> 综合 >> hadoop(3)map reduce
  详细解决方案

hadoop(3)map reduce

热度:47   发布时间:2023-11-20 21:27:35.0

Hadoop项目主要包括一下四个模块

1、Hadoop Common
    为其他Hadoop模块提供基础设施。
2、Hadoop HDFS
    一个高可靠、高吞吐量的分布式文件系统
3、Hadoop MapReduce
    一个分布式的离线并行计算框架。
4、Hadoop YARN
    一个新的MapReduce框架,任务调度与资源管理。

HDFS系统架构

1、NameNode:是主节点,存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在DataNode等信息。NameNode的元数据中一部分存放在内存中的进程中,另一部分存放在本地磁盘(fsimage镜像文件和edits编辑日志)。
2、DataNode:在本地文件系统存储文件块数据,以及块的校验和。
3、Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。(配置HA后,不启动)

Yarn系统架构

1、ResourceManager:处理客户端请求;启动/监控ApplicationMaster;监控NodeManager;资源的分配和调度。
2、ApplicationMaster:数据切分;为应用程序申请资源,并分配给内部任务;任务监控与容错。
3、NodeManager:单节点上的资源管理;处理来自ResourceManager的命令;处理来自ApplicationMaster的命令。
4、Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。


MapReduce分布式离线计算框架

1、将计算过程分为两个阶段,Map和Reduce
        Map阶段并行处理输入数据
        Reduce阶段对Map结果进行汇总
2、Shuffle连接Map和Reduce两个阶段
       Map Task将数据写到本地磁盘
       Reduce Task从每个Map Task上读取一份数据
3、仅适合离线批处理
      具有很好的容错性和扩展性
      适合简单的批处理任务
4、缺点明显
      启动开销大、过多使用磁盘导致效率低