1. Hadoop是什么?
Hadoop是分布式系统基础架构,是能够对大量数据进行分布式处理的软件框架。
1.1 Hadoop三大发行版本
Apache——最原始最基础版本,对于入门学习较好
Cloudera——大型互联网公司用的最多 CDH版本
Hortonworks 文档较好
1.2 Hadoop 1.x和2.x的区别
| 1.x | 2.x |
|---|---|
| Map Reduce(计算+资源调度) | MapReduce(计算) |
| Yarn(资源调度) | |
| HDFS(数据存储) | HDFS(数据存储) |
| Common(辅助工具) | Common(辅助工具) |
1.x MapReduce同时处理业务逻辑计算和资源调度,耦合性比较大,
2.x增加了Yarn,Yarn只负责资源的调度,MapReduce只负责计算,解耦合,更模块化
2. 什么是分布式?
分布式计算是指一个计算可以在两个或多个软件上共享信息,两个或多个软件可以在一台计算机上运行,也可在通过网络连接的多台计算机上运行。
3. HDFS(Hadoop分布式文件系统)架构概述
3.1 NameNode(nn):
存储文件的元数据(用来描述数据的数据),如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode
3.2 DataNode(dn):
在本地文件系统存储文件块数据以及块数据的校验
3.3 Secondary NameNode(2nn):
用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照
4. YARN架构概述
5. MapReduce架构概述
MapReduce 将计算过程分为两个阶段Map和Reduce(Map负责分,Reduce负责合)
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
举例: