Hadoop概述

Hadoop项目主要的模块

Hadoop Common :为其他模块提供基础设施。
Hadoop HDFS :一个高可靠、高吞吐量的分布式文件系统。
Hadoop MapReduce :一个分布式的离线并行计算框架。
Hadoop YARN :一个新的MapReduce框架,任务调度与资源管理。

HDFS系统框架构

Hadoop概述
Rack 是指机柜的意思,一个block的三个副本通常会保存到两个或者两个以上的机柜中(当然是机柜中的服务器),这样做的目的是做防灾容错,因为发生一个机柜掉电或者一个机柜的交换机磁盘损坏导致数据出错。
HDFS主要包含功能组件:
Namenode:存储文件的元数据信息、文件名、文件系统的目录结构、文件属性、及文件的块列表和块所在的DateNode等。
DataNode:在本地文件系统存储文件块数据,以及块数据的校验和。
Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
HDFS读写文件:
Hadoop概述
Hadoop概述

YARN架构

Hadoop概述
YARN服务功能:
ResourceManager:处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度。
NodeManager:单节点的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令。
ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

MapReduce架构

Hadoop概述
MapReduce框架特点
1)、将计算过程分为两个阶段,Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
2)、Shuffle链接Map和Reduce两个阶段分为MapTask和ReduceTask
MapTask将数据写入本地磁盘
ReduceTask从每个MapTask上读取一份数据
3)、仅适合离线批量处理
具有很好的容错性和扩展性
适合简单的批量任务
4)、缺点明显
启动开销大、过多使用磁盘导致效率低下等