Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
主要解决,海量数据的存储和海量数据的分析计算问题。
广义来说,Hadoop通常是指一个更广泛的概念--Hadoop生态圈
![](https://img.haomeiwen.com/i19218157/773ffba100a9b83d.png)
Google在大数据方面的三篇论文
GFS-->HDFS
Map-Reduce-->MR
BigTable-->HBase
Hadoop三大发行版本:Apache, Cloudera, Hortonworks
Apache版本最原始(最基础)的版本,对于入门学习最好。
Cloudera在大型互联网企业中用的较多。(CDH版框架)
Hortonworks文档较好。
Hadoop1.x和Hadoop2.x的区别
![](https://img.haomeiwen.com/i19218157/891b9eb663f32a7b.png)
HDFS架构概述
Hadoop Distributed File System, 简称HDFS, 是一个分布式文件系统。
1. NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块的DataNode等。
2. DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。(实实在在存储的数据)
3. Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
YARN架构概述
Yet Another Resource Negotiator,简称YARN,另一种资源协调者,是Hadoop的资源管理器。
1. ResourceManager(RM)主要作用如下:(整个集群资源,CPU,内存等,的老大)
(1). 处理客户端请求
(2). 监控NodeManager
(3). 启动或监控ApplicationMaster
(4). 资源的分配与调度
2. NodeManager(NM)主要作用如下:(单个节点服务器资源的老大)
(1). 管理单个节点上的资源
(2). 处理来自ResourceManager的命令
(3). 处理来自ApplicationMaster的命令
3. ApplicationMaster(AM)作用如下(单个任务运行的老大)
(1). 负责数据的切分
(2). 为应用程序申请资源并分配给内部的任务
(3). 任务的监控与容错
4. Container(容器,相当于一台独立的服务器)
Container是YARN中的资源抽象,它封装了某个节点上的维度资源,如内存,CPU,磁盘,网络等。
![](https://img.haomeiwen.com/i19218157/c0ed21567c80b113.png)
说明:
(1). 客户端可以有多个
(2). 集群上可以运行多个ApplicationManager
(3). 每个NodeManager上可以有多个Container
MapReduce架构概述
MapReduce将计算过程分为两个阶段: Map和Reduce
1. Map阶段并行处理数据
2. Reduce阶段对Map结果进行汇总
大数据技术生态体系
![](https://img.haomeiwen.com/i19218157/ff806cc9346f5303.png)
网友评论