<>1.Hadoop基本结构

Hadoop是一个分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题。
Hadoop组成:

* Hadoop Common(辅助工具): The common utilities that support the other Hadoop
modules.
* Hadoop Distributed File System (数据存储): A distributed file system that
provides high-throughput access to application data.
* Hadoop YARN(资源调度): A framework for job scheduling and cluster resource
management.
* Hadoop MapReduce(数据处理与计算): A YARN-based system for parallel processing of
large data sets.
<>1.1 HDFS架构

NameNode 指明每个文件块存在哪个节点上 DataNode存储实实在在的数据
1、NameNode是一个中心服务器,单一节点(简化系统的设计和实现,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问

2、文件操作,Namenode是负责文件元数据的操作,它知道数据的存放位置(例如NN知道数据块1存在001、006、008三台机器)。这些信息不是长久固定的,每次启动系统后需要重新从数据节点获取这些信息。Datanode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过Namenode,只询问它跟哪个DataNode联系,否则Namenode会成为系统的瓶颈
3、
副本存放在哪些Datanode上由Namenode来控制,根据全局情况作出块放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低读取网络开销和读取延时。HDFS分布式文件系统的内部有一个副本存放策略:以默认的副本数=3为例:①第一个副本块存本机(若客户端在集群中,不在的话随机选择一个较近的机器)②第二个副本在另一个机架的随机节点③第三个副本在第二个副本所处机架的随机节点

4、Namenode全权管理数据库的复制,它周期性的从集群中的每Datanode接收心跳信合和状态报告,接收到心跳信号意味着DataNode节点工作正常,块状态报告包含了一个该DataNode上所有的数据列表

<>1.2 YARN架构

* Resource Manager:整个集群资源的统一管理者
* Node Manager:单个节点服务器的资源管理者
* App Mstr:单个任务运行的管理者
* Container:相当于一台独立服务器,里面有任务运行所需要的资源,比如CPU、磁盘、网络等
<>1.3 MapReduce架构

MapReduce将计算过程分为两个阶段:Map和Reduce

* Map阶段并行处理输入数据
* Reduce阶段对Map结果进行汇总

1.4 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注销并关闭自己

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信