WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

专栏文章 > 大数据 > 正文
大数据系列文章之Hadoop概述
作者: 佚名 2019-05-14 16:38 【炫酷的腿毛丶】

Hadoop 概述

从《Hadoop前世今生》中我们知道,Hadoop是从Nutch搜索引擎项目里拆分出来了两个通用性的模块:HDFS和MapReduce,他们主要提供的功能分别是分布式存储和分布式计算。

Hadoop Common

● 但是问题来了,分布式存储和分布式计算都需要网络通信,所以Hadoop第三个模块:Hadoop Common就应运而生了,他所做的事情各个进程之间的网络通信,主要为HDFS和MapReduce提供基础设施服务,并在此之上封装了RPC框架。

从Hadoop 0.x 至 Hadoop 1.x 版本中基本都由Hadoop Common、HDFS、MapReduce构成的,下图展示了在最初两个大版本中Hadoop中各组件的结构

Hadoop YARN

● Hadoop YARN 这个模块是有什么作用呢?

● Hadoop YARN 是如何诞生的呢?只要是由以下几个需求推波助澜才诞生的

● Hive

● 我们都知道MapReduce是提供分布式计算的,而这个框架产生之后,Hadoop的使用场景非常广泛,整个大数据时代对分布式计算的要求也非常高,但是写MapReduce的作业(也就是Job)的使用门槛非常高,其中需要写很多处理逻辑,有一些程序员不会写Job,只会写一些SQL语句去代替Job,所以产生了Hive框架,Hive只需要程序员写一些SQL就可以自动转换成MapReduce的作业,进而简化处理逻辑,降低使用门槛

● Storm 实时计算以及交互式计算

● 传统的MapReduce处理的都是批量的离线数据,处理速度非常慢。随着整个大数据时代的发展,又产生了一些业务场景需要实时计算以及交互式计算,处理速度的要求也相应提升了很多,所以在新的业务场景以及需求下,促生了两个新的分布式计算框架:storm

● Spark 基于内存的分布式计算框架

● 通过使用内存来进行批量计算、实时计算以及交互式计算,大大提高处理速度

● Flink 基于内存的分布式计算框架

Spark 和 Flink 的区别

● 这些新的分布式计算框架都需要申请CPU、内存、网路等计算资源,任务处理完成之后这些计算资源也要自动释放掉,这些通用功能(资源的申请、释放、任务的管理)就被抽离了出来,所以 YARN 就诞生了。

● 从Hadoop 2 版本开始就新加入了 YARN 来完成任务调度与资源管理的工作,当然我们可以把 YARN 理解为 大数据里面的操作系统,而上面的应用就是各种分布式计算框架,而 HDFS 和 YARN 需要进行一些网络通信,则需要调用 Hadoop Common 进行处理(基于RPC)。

总而言之 Hadoop 主要包括以下四个模块

● Hadoop Common

● 为其他Hadoop模块提供基础设施

● Hadoop HDFS

● 一个高可靠、高吞吐量的分布式文件系统

● Hadoop MapReduce

● 一个分布式的离线并行计算框架

● Hadoop YARN

● 任务调度与资源管理


标签:大数据 

LecVideo