1 Hadoop发行版介绍
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始(最基础)的版本,适合基础学习。
Cloudera内部集成了很多大数据框架,对应产品CDH。
Hortonworks文档较好,对应产品HDP。
目前使用最多的是后两种。
1.1 Apache Hadoop
官网地址:hadoop.apache.org/releases.ht…
下载地址:archive.apache.org/dist/hadoop…
1.2 Cloudera Hadoop
官网地址:www.cloudera.com/downloads/c…
下载地址:archive.cloudera.com/cdh5/cdh/5/
1.3 Hortonworks Hadoop
官网地址:hortonworks.com/products/da…
下载地址:hortonworks.com/downloads/#…
2 Hadoop的优势
1、高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个元素或存储出现故障,也不会导致数据的丢失
2、高扩展性:在集群间分配任务数据,可方便地扩展数以千计的节点。
3、高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4、高容错性:能够自动将失败的任务重新分配。
3 Hadoop组成
3.1 Hadoop1.x和Hadoop2.x区别:
注:Hadoop3.X与Hadoop2.X架构没有大变化
3.2 HDFS架构概述
对磁盘进行调度
3.3 YARN架构概述
对CPU和内存进行调度
Yarn支持主从架构,主节点最多可以有两个,从节点可以有多个。
主节点(Resource Manager)进程主要负责集群资源的分配和管理,从节点(Node Manager)主要负责单节点资源管理。
3.3.1 Resource Manager
主要作用:
1、处理客户端请求
2、监控NodeManager
3、启动或监控ApplicationMaster
4、资源的分配与调度
3.3.2 Node Manager
主要作用:
1、管理单个节点上的资源
2、处理来自ResourceManager的命令
3、处理来自ApplicationMaster的命令
3.3.3 Application Master
1、负责数据的切分
2、为应用程序申请资源并分配给内部的任务
3、任务的监控与容错
3.3.4 Container
Container是中的资源抽象,它封装了某个节点上的多维度资源。
3.4 MapReduce概述
MapReduce是一个编程模型,计算框架,主要负责海量数据的计算。
MapReduce将计算过程分为两个阶段:Map和Reduce
Map阶段是一个独立的程序,会在很多节点上同时执行,每个节点处理一部分数据。
Reduce阶段也是一个独立程序,Reduce可以理解为一个单独的聚合程序。
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总