一、Hadoop是什么

  • Hadoop是一个由apache开发的分布式系统基础架构。
  • 主要解决海量数据的存储和海量数据的分析计算问题。
  • 广义上来说,Hadoop通胀指一个更宽泛的概念——Hadoop生态圈

1、Hadoop优势

  1. 高可靠性:Hadoop底层维护多个数据副本,即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
  2. 高扩展性:在集群见分配任务数据,可方便的扩展数以千计的节点。
  3. 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
  4. 高容错性:能够自动将失败的任务重新分配。

2、Hadoop1.x、2.x、3.x区别




hadoop 2.7 架构 hadoop架构介绍_hadoop


Hadoop1.x中,Hadoop的MapReduce同时处理业务逻辑运算和资源的调度,耦合性比较大。

在Hadoop2.x中增加了Yarn。Yarn负责资源的调度,MapReduc负责运算。Hadoop3.x在组成上与Hadoop2.x一致。

3、Hadoop运行模式

本地模式:

单机运行,只是用来演示一下官方案例。生产环境不用。

伪分布式模式:

也是单机运行,但是具备 Hadoop 集群的所有功能,一台服务器模拟一个分布式的环境。一般用来测试,生产环境不用。

完全分布式模式:

多台服务器组成分布式环境。生产环境使用。

二、Hadoop三大架构

HDFS架构概述

Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。


hadoop 2.7 架构 hadoop架构介绍_Hadoop_02


NameNode(nn):

存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。

DataNode(dn):

在本地文件系统存储文件块数据,以及块数据的校验和。

Secondary NameNode(2nn):

每隔一段时间对NameNode元数据备份。

YARN架构概述

Yet Another Resource Negotiator简称YARN,是一种资源协调这,是Hadoop的资源管理器。


hadoop 2.7 架构 hadoop架构介绍_hadoop_03


ResourceManager(RM):

整个集群资源(内存、CPU等)的老大。

NodeManager(NM):

单个节点服务器资源老大。

ApplicationMaster(AM):

单个任务运行的老大。

Container:

容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。

【注】

  • 客户端可以有多个
  • 集群上可以运行多个ApplicationMaster
  • 每个NodeManager上可以有多个Container

MapReduce架构概述

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

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


hadoop 2.7 架构 hadoop架构介绍_Hadoop_04


三、HDFS、YARN、MapReduce三者关系

客户端Client提交任务到资源管理器(ResourceManager),资源管理器接收到任务之后去NodeManager节点开启任务(ApplicationMaster),ApplicationMaster向ResourceManager申请资源,若有资源ApplicationMaster负责开启任务即MapTask。

开始干活了即分析任务,每个map独立工作,各自负责检索各自对应的DataNode,将结果记录到HDFS,DataNode负责存储,NameNode负责记录,2nn负责备份部分数据。


hadoop 2.7 架构 hadoop架构介绍_数据_05


四、大数据生态框架


hadoop 2.7 架构 hadoop架构介绍_数据_06