Hadoop技术的组成及特点

2020-05-08 00:14:05 浏览数 (1)

Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:HDFS和MapReduce

Hadoop的组成

Hadoop目前主要包括Hadoop1.x和hadoop2.x,两种版本差距较大,目前常用的是Hadoop2.x版本,所以主要基于Hadoop2.x进行讲解

主要组成模块:

Hadoop Distributed File System(HDFS):分布式文件存储系统。

MapReduce:并行计算框架(可以自定义计算逻辑的部分)

Yet Another Resource Negotiator(YARN):另一种资源协调者(顾名思义,Hadoop1.x采用的不是这一个资源管理器。

各个模块的作用

Job:由客户端向集群提交的一次计算任务。

Task:集群的最小可执行单位(一个Job将会分为多个Task执行)

ResourceManager(以下简称RM):管理整个集群的计算资源,主要用于为每一个Job分配计算资源(整个集群只有一个RM)

Container:资源分配单位,一个Container包括一些CPU和存储资源

NodeManager(以下简称NM):管理单台服务器的计算资源,类似RM得更细粒度实现(集群中每台服务器有一个NM)。

ApplicationMaster(以下简称AM):监控每一个Job的执行情况,包括资源申请、Task调度等。

主要组件的特点

HDFS的主要特点:

高容错性:数据自动保存多个副本(默认存3份),副本丢失后自动恢复

大数据处理:适合处理TB甚至PB级的数据;百万规模的文件数量;10K 节点规模

文件分块存储:HDFS会将一个完整的大文件平均分块存储到不同计算器上

流式文件访问:一次性写入,多次读取,保证数据一致性

廉价机器运行:HDFS可以应用在普通的PC机上,几十台廉价的计算机就可以构成一个大数据集群

MapReduce的主要特点:

适合数据复杂度运算;

不适合算法复杂度的运算;

不适合实时计算、流式计算、DAG有向图计算。

0 人点赞