本文是尚硅谷Hadoop教程的学习笔记,由于个人的需要,只致力于搞清楚Hadoop是什么,它可以解决什么问题,以及它的原理是什么。至于具体怎么安装、使用和编写代码不在我考虑的范围内。
一、Hadoop入门
大数据的特点:
- Volume(大量)
- Velocity(高速)
- Variety(多样)
- Value(低价值密度)
1. Hadoop概念
是一个分布式系统基础架构
2. Hadoop优势
- 高可靠
- 高扩展性
- 高效性
- 高容错性
3. Hadoop组成
(1) HDFS架构概述
HDFS(Hadoop Distributed File System)是一个分布式文件系统
- NameNode(NN):存储文件的元数据,如文件名、文件目录结构、文件属性,以及每个文件的块列表和块所在的DataNode等。
- DataNode(DN):在本地文件系统存储文件块数据,以及块数据的校验和。
- Secondary NameNode(2NN):每隔一段时间对NameNode元数据备份。
(2) YARN架构概述
YARN(Yet Another Resource Negotiater):另一种资源协调者,是Hadoop的资源管理器。
- ResourceManager(RM):整个集群资源(内存、CPU等)的管理者
- NodeManager(NM):单个节点服务器资源管理者
- ApplicationMaster(AM):单个任务运行的管理者
- Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等
说明:
- 客户端可以有多个
- 集群上可以运行多个ApplicationMaster
- 每个NodeManager上可以有多个Container
(3) MapReduce架构概述
MapReduce将计算拆成两个阶段:Map和Reduce
- Map阶段并行处理输入数据
- Reduce阶段对Map结果进行汇总