Hadoop生态系统与核心模块HFDS / Yarn / MapReduce

总结:

  1. Hadoop是什么?
  2. Hadoop生态系统
    2.1 总体结构与核心模块
    2.2 HFDS : 分布式文件存储
    2.3 Yarn: Hadoop的资源管理/分布式计算框架
    2.4 MapReduce原理和图例:并行处理,降维运算。
    2.5 什么时候不采用Hadoop?

1. Hadoop是什么?

Hadoop是一个开源框架,可编写和运行分布式应用处理大规模数据(PB级)。 Hadoop框架的核心是HDFS和MapReduce。其中 HDFS 是分布式文件系统,MapReduce 是分布式数据处理模型和执行环境。

2. Hadoop生态系统

目前Hadoop生态系统的组合是十分多变的,核心是HFDS,YARN, MapReduce。其他几乎都可以集成各种不同的软件。

2.1 总体结构与核心模块

以下是一种可能的Hadoop生态系统和其层次结构:

Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第1张图片
whole.png
Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第2张图片
main.png
Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第3张图片
Hadoop2.png

2.2 HFDS : 分布式文件存储

  1. 用于存储大量文件,最高能到200PB, 4500台服务器,一亿个文件和模块。
  2. 核心原理:把文件切成小块,分别存到不同的服务器中,并做冗余备份。
  3. 目的: 数据分区-->可存取大数据;冗余-->提高容错性即提供不同的数据位置。
Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第4张图片
HFDS.png

2.3 Yarn: Hadoop的资源管理/分布式计算框架

  1. HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。

  2. YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

3. 核心原理:resource manager管理资源调度到哪里(大boss),并且通过node manager与不同设备沟通(小上司)。一个node manager就是一台设备。

  1. 类比:大boss和各部门的上司沟通,规定不同部门要干什么;然后小上司鞭策小工赶紧get the shit done.

  2. 为什么需要它:方便多种应用同时运行,没有它一次只能运行一种应用。(因为HFDS上面直接的MapReduce了)

Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第5张图片
YARN.png

Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第6张图片
YARN2.png

2.4 MapReduce原理和图例:并行处理,降维运算。

一些想到的类比:
把一个原来三维的东西变成了两维的。有点像机器学习的PCA,把三维的东西做个映射变为一个平面。或者把一个三维的立方体魔方,通过计算每个面各种颜色的格子数,变成了一个二维映射表格。

Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第7张图片
MR-1.png

2.5 什么时候不采用Hadoop?

  1. 以下五种情况需要小心:


    Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第8张图片
    caution.png
  1. 不适合的操作和原因:
    2.1 经过上面三层的核心,存取信息是需要经过MapReduce和YARN做处理,也就是需要时间。不适合快速存取操作。
    2.2 小的数据集,没必要花这个处理时间。
    2.3 任务级的并行处理要小心,(我觉得不同设备时延不同可能有点问题)


    Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第9张图片
    Task Level Parallelism.png

    2.4 Advanced Algorithms, 算法任务需要小心,算task的一种吧。例如用来做机器学习的迭代,这个都迭代三次了,另一个因为时延和运算能力可能只迭代了一次这样。
    2.5 更换基础设备时要小心,Hadoop只是可考虑的一种,而不一定是最好的解决方法。


    Hadoop生态系统与核心模块HFDS / Yarn / MapReduce_第10张图片
    infrastructureReplace.png

    2.6 Random Data Access:因为分块了,这样不太方便。

参考资料:

  1. Coursera 大数据导论 [美国加州大学圣地亚哥分校]
  2. Hadoop生态系统

2018.5.7

你可能感兴趣的:(Hadoop生态系统与核心模块HFDS / Yarn / MapReduce)