Hadoop 快速了解基本知识点

内容概括:

Hadoop官方网站有全面系统的文档,包括一些Hadoop相关的资料,有基础的同学,建议自己从官网学习Hadoop知识。本文是对Hadoop官网的一个精华总结,不敢说总结的多好,权当自己做笔记,同时给新手同学一些简单的学习方法和辅助吧。

适合人群:

从零开始学习Hadoop,有一定Java基础和Linux操作基础的IT从业者或者在校学生。

难度:☆ 

一、Hadoop是什么?做什么用的?有什么特性?

Hadoop 是一个 为了实现分布式计算而开发的可靠的,弹性可伸缩的系统。

他核心由三部分组成HDFS、YARN、MapReduce

HDFS (Hadoop 分布式文件系统)

可以认为HDFS是Hadoop为分布式计算而准备的分布式文件系统。

核心大家要理解Hadoop是为分布式计算而生的。要实现分布式计算,需要有分布式文件系统,但并不是必须,HDFS就是Hadoop体系自己实现的分布式文件系统。

同类的分布式文件系统还有很多。我个人觉得关于分布式文件系统,有很多知识点需要学习,在没有建立宏观知识模型前可以先忽略,主要是为了不让自己陷入负杂的知识沼泽而过早放弃学习Hadoop。

初入门大家只要知道HDFS是一个可靠的分布式文件系统就够了,可以存储PB级数据,而且有多份副本存储。

YARN(Yet Another Resource Negotiator)另一种资源协调者

我通常这么理解Yarn,我把Yarn理解为Application资源调度系统。

Application: 提交到集群上的产生的工作内容,由多个Job组成。

Job:构成一个应用Application的基本单位,一般一个应用可以划分为若干个Job,分阶段执行。

Task: 构成Job的基本单位,为Yarn最小的计算单元。

前面讲到HDFS是Hadoop为分布式计算准备的分布式文件系统,用于存储海量文件。

那么Yarn就是Hadoop为分布式计算准备的应用资源管理与任务调度系统,这个资源说的是计算资源(CPU、内存)。

这个任务调度说的调度应用 分解后的任务,调度到哪个工作者(一般是某台服务器)上执行。

后面专讲YARN的时候会讲一个Application -> Job -> Task的过程。

这个Job 和 Task 有的时候傻傻分不清楚。

Hadoop MapReduce 一种基于Hadoop Yarn 的并行编程模型

可以理解为类似.Net Framework或者Spring Boot 。我把他认为是一种编程框架,提高了并行开发的效率,但同时有很多框架约定要遵守。基于这些约定写出的代码(Java、Python、.......)就能利用Hadoop分布式计算海量文件。

但目前大家都很少用到Hadoop的MapReduce框架来开发应用了,多数采用Spark 和 Flink,这两种系统的编程模型写出的应用,同样可以提交到Hadoop Yarn上运行。后面会讲到。

至于此,关于Hadoop的基本入门知识已经讲完,新手装个逼够了,(如同周芷若学了黄蓉的九阴速成法能打败张无忌一样,别喷了兄弟们,我没有黄蓉聪明,我跟个姑娘比啥啊)。

你可能感兴趣的:(Hadoop 快速了解基本知识点)