海量数据处理--离线批处理技术(Hadoop)

x33g5p2x  于2021-12-05 转载在 Hadoop  
字(1.3k)|赞(0)|评价(0)|浏览(614)

一、概述
大数据领域的两大难题:

1、存储

2、处理

解决方案:Hadoop解决类存储和处理的两大难题,其主要提供两大核心技术:

1、Hadoop分布式文件系统

2、MapReduce并行计算

二、Google核心云计算技术

海量数据存储的三大核心技术:

MapReduce编程模型

分布式文件系统(GFS)

分布式结构化数据存储

1、MapReduce编程模型

编程思想:分而治之

以键值对的形式来进行数据的输入和输出,它将待处理的数据集分解为多个小的键值对来处理。MapReduce编程模型将复杂的并行计算过程高度抽象到map()函数和reduce()函数中。

MapReduce模型将一个大的计算问题分解成多个小的计算问题,由多个map()函数对这些分解后的小问题进行计算,输出中间计算结果,然后由reduce()函数对map()函数的输出结果进行进一步合并,得出最终的计算结果,工作原理如图所示:

map阶段将一个复杂的任务分解为多个简单的小任务,这些小任务会在多个map()函数中进行并行处理,然后每个函数将处理的中间结果输出。reduce将对数据的中间结果根据键来做聚合处理,最终输出聚合后的数据结果。

2、分布式文件系统(GFS)

GFS分布式文件系统的目标:系统的可靠性、可伸缩性、可用性及性能

运行要求:

需要运行在廉价的服务器上

必须保证系统的容错性

能够大文件和小文件并存

保证系统的容错性:

a、Master容错

b、Chunk服务器容错

三、Hadoop云计算技术

1、Hadoop核心组件

Hadoop的核心组件包括HDFS和分布式计算框架MapReduce,和YARN框架以及Common工具

1)分布式计算框架MapReduce

MapReduce框架将复杂的大数据处理过程抽象为map()函数和reduce()函数,分别执行大数据处理中的map任务和reduce任务,用户只需要简单编写map()函数和reduce()函数即可开发出一个分布式的Hadoop程序

2)HDFS

HDFS是Hadoop存储海量数据的基石,能够提供对应用程序数据的高吞吐量访问。

3)YARN框架

YARN是Hadoop框架用于作业调度和集群资源管理的框架。

4)Common工具

Hadoop的Common就是封装了一些常用的底层工具。

2、Hadoop物理架构

Hadoop架构不仅在逻辑上支持分布式部署,而且在物理上也是分布式的。可以将Hadoop部署在由上千台物理机组成的大规模分布式集群上,并且Hadoop能够运行在由大规模廉价服务器组成的集群上,架构如图:

3、Hadoop的原理和运行机制

1)HDFS

Hadoop会将一个大文件切分成n个小文件数据块,分别存储到不同的DataNode上

2)分布式计算框架MapReduce

3)YARN资源调度系统

4、Hadoop相关技术与概述

1)Hive

2)Pig

3)Flume

4)Kafka

5)Sqoop

6)Storm

7)Spark

8)Mahout

5、Hadoop的局限性

1)时效性低

2)不适合存储大量的小文件

3)不支持任意修改文件

4)不支持多人同时进行写操作

相关文章