Hadoop概述
- Hadoop名字的由来
1
2
3- 作者:Nutch、Doug Cutting
- 是一个虚构的名词
- 项目作者的孩子给一个棕色的大象样子的填充玩具的命名
学习方法
1 | 学习一个新的框架,直接查看该项目的官网地址 |
Hadoop核心组件
核心组件总述
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16## Modules
The project includes these modules:
* **Hadoop Common**: The common utilities that support the other Hadoop modules.
* **Hadoop Distributed File System (HDFS™)**: A distributed file system that provides high-throughput access to application data.
* **Hadoop YARN**: A framework for job scheduling and cluster resource management.
* **Hadoop MapReduce**: A YARN-based system for parallel processing of large data sets.
* **[Hadoop Ozone](https://hadoop.apache.org/ozone/)**: An object store for Hadoop.
Hadoop:提供分布式的存储(一个文件被拆分成很多个块、并且以副本的方式存储在各个节点中)和计算
- 是一个分布式的系统基础架构:用户可以在不了解分布式底层细节的情况下进行使用
分布式文件系统:hdfs实现将文件分布式存储在很多服务器上
分布式计算框架:MapReduce实现在很多机器上分布式并行计算
分布式资源调度框架:YARN实现集群资源管理以及作业的调度HDFS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15源自Google的gfs论文
hdfs是gfs的克隆版:拓展性、容错性、海量数据存储
- 将文件切分成指定大小的数据块并以多副本的形式存储在各个机器上
文件 test.log 200M
块(block):默认的block size是128M,将会分成2个块:128M+72M blk1 + clk2
有五台机器
node1: blk1 blk2
node2:blk2
node3:blk1 blk2
node4:blk1
node5:
假如有一台节点挂掉,由于副本的存在,并不会产生影响
- 数据的切分、多副本、容错等操作对用户是透明的(用户是不感知的)
- MapReduce
1
2源自google的MapReduce论文
MapReduce是google论文的克隆版本:拓展性、容错性、海量数据离线处理
1
2
3
4
5
6
7hadoop官网的wc案例
input:数据输入
splitting:切割
mapping:分组
shuffing:聚合
reducing:统计结果
final result:输出最终结果
- YARN:资源调度框架
1
2
3YARN:Yet Another Resource Negotiator
负责整个集群资源的管理和调度
YARN特点:拓展性、容错性、*多框架资源统一调度*(hive、spark都是可以使用yarn的资源调度的)
Hadoop优势
1 | 高可靠性 |
Hadoop发展史
- 参考文章:
https://www.infoq.cn/article/hadoop-ten-years-interpretation-and-development-forecast
Hadoop生态系统
1
2- 狭义:是一个适合大数据**分布式存储**,**分布式计算**和**资源调度**的平台
- 广义:Hadoop生态系统,**Hadoop生态系统**是一个很庞大的概念,Hadoop是其中最重要最基础的一个部分,生态系统中每一个子系统**只解决某一特定的问题域**,不搞统一性的全能系统,而是**小而精**的多个小系统
1
2
3
4- 特点
- 开源、社区活跃
- 囊括了大数据处理的方方面面
- 成熟的生态圈
Hadoop发行版的选择
1 | 常用的hadoop的发行版 |