1、Hadoop 是什么
- Hadoop是现阶段数据开发的基础,Hadoop通常是指一个更广泛的概念----Hadoop生态圈(基于或关于Hadoop的大数据开发的各种软件环境)
- 是Apache公司使用Java语言编写的开源的,分布式系统的基础架构
- 分布式就是,当储存数据很多很大时,一台机器储存不了时,需要将数据切成块,使用多台计算机分布式储存这些数据。
- 由于专业的大数据的服务器比较昂贵,Hadoop解决了,在计算机级别服务器上的,大规模数据的存储和分析计算
- Hadoop 官网
2、Hadoop 组成结构
- HDFS :分布式文件储存系统
- Yarn :资源管理和调度系统
- MapReduce :分布式运算系统
- Hadoop 1.x 与 Hadoop 2.x 区别

2.1、 HDFS 架构
- NameNode :的主要工作就是和Client(客户端)打交道,接受Client的请求,以及管理元数据和集群(DataNode)等。
- DateNode :储存文件块,校验块信息。
- Secondary NameNode :是负责帮助NameNode分担任务量,持久化内存中的除文件块位置信息的所有元数据。
- HDFS是主从结构,一个主节点,多个从节点,即一个NameNode,多个DateNode。

2.2、 Yarn 架构
- ResourceManager :处理客户端请求、监控NodeManger、启动或监控ApplicationMaster、资源的分配与调度。
- NodeManager :管理单个节点上的资源、处理ResourcrManger和ApplicationMaster的命令。
- ApplicationMaster :负责数据切分、为应用程序申请资源并分配给内部的任务。
- Container :是Yarn中的资源抽象,它封装了某个节点上的多维度资源,例如CPU、内存、磁盘、网络等。

2.3、 MapReduce 概述
- MapReduce 将计算分为两个阶段
- Map阶段 :并行处理输入数据
- Reduce阶段 :对Map结果进行汇总

















