|
本帖最后由 一起看海 于 01-01 编辑
在本教程,我们将会学习到 HDFS,MapReduce 和Yarn 这3大重要组件。
HDFS是什么
HDFS 即 Hadoop 分布式文件系统(Hadoop Distribute File System),以分布式存储的方式存储数据。
在 Hadoop 架构里面,master 节点上会运行一个叫做 namenode 的守护进程,每个 slave 节点上都会有 datanode 守护进程,两个进程都是属于HDFS 的。因此,slave 节点也叫做 datanode 节点。Namenode 主要用于存储元数据和管理 datanode 节点。而 datanode 则是真正存储数据和执行任务的地方。
![](https://www.hadoopdoc.com/media/editor/HDFS-Architecture_20191001204831887472.png)
HDFS架构图
HDFS 是一个具有故障容错,分布式的,高可靠的且可扩展的用于数据存储的文件系统。HDFS 是为了存储海量数据而开发的,数据量可达到 TB 级别。数据文件会被分割成块(默认一个块大小为128MB)并存储在多个节点。分割的数据块按照复制因子进行跨 datanode 复制。避免 datanode 节点发生故障后造成数据丢失。
假如有一个文件大小为640MB,那么它将会被分割成5个块,每个块128MB(按照默认的数据块大小)。MapReduce是什么
Hadoop MapReduce 是一种编程模型,它是 Hadoop 最重要的组件之一。它用于计算海量数据,并把计算任务分割成许多在集群并行计算的独立运行的 task。MapReduce 是 Hadoop 的核心,它会把计算任务移动到离数据最近的地方进行执行,因为移动大量数据是非常耗费资源的。
因此,MapReduce 是一个分布式处理海量数据的计算框架。由于数据存储以分布式方式存储在 HDFS,它为 MapReduce 执行并行任务提供了基础。
Yarn是什么
Yarn 是一种资源管理系统,在集群模式下,管理、分配和释放资源(CPU,内存,磁盘)变得非常复杂。而 Yarn 可以非常高效的管理这些资源。它根据来自任何应用程序的请求分配相同的值。
在 Master 节点会运行一个叫ResourceManager 守护进程,且每个slave 节点都会有一个叫 NodeManager 的守护进程。
|
|