0


hadoop简介

文章目录

1:hadoop简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。主要解决海量数据的存储和海量数据的分析计算问题

并行计算的架构
在这里插入图片描述
分布式计算的核心思想就是:分而治之,先分后和

2:Hadoop系统

2.1:hadoop架构

Hadoop核心三剑客
HDFS:数据存储
YARN:系统资源分配管理
MapReduce:计算

在这里插入图片描述

1:MapReduce

本身就是用于并行处理大数据集的软件框架。MapReduce 的根源是函数性编程中的 map 和 reduce 函数。它由两个可能包含有许多实例(许多 Map 和 Reduce)的操作组成。Map 函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce 函数接受 Map 函数生成的列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表 [6] 。
在这里插入图片描述
在这里插入图片描述
mapreduce运行时会有MrAppMaste、MapTask、ReduceTask三个进程存在

map:切割处理
reduce:合并归约

2:YARN架构

Resource Manager:整个集群资源的统一管理者
Node Manager:单个节点服务器的资源管理者
App Mstr:单个任务运行的管理者
Container:相当于一台独立服务器,里面有任务运行所需要的资源,比如CPU、磁盘、网络等
在这里插入图片描述

3:HDFS

HDFS系统架构介绍

2.2:HDFS、YARN、MapReduce三者关系

工作过程概述:

1.用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等

2.ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用程序ApplicationMaster

3.ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7

4.ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源

5.一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务

6.NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务MapTask

7.各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态

8.最后经过ReduceTask将结果返回写到磁盘,HDFS做相应的存储

9.应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己


本文转载自: https://blog.csdn.net/weixin_43930865/article/details/128700827
版权归原作者 猿来如此dj 所有, 如有侵权,请联系我们删除。

“hadoop简介”的评论:

还没有评论