# 😽Hadoop 概述
# 🍖Hadoop 是什么
- Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构
- 主要解决,海量数据的存储和分析计算问题。
- 广义上来说,Hadoop 通常是指一个更广泛的概念 ——Hadoop 生态圈。
# 🍖Hadoop 优势(4 高)
- 高可靠性:Hadoop 底层维护多个数据副本,所以即使 Hadoop 某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高效性:在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
# 🍖Hadoop 组成
Hadoop 1.x 组成:
- MapReduce(计算 + 资源调度)
- HDFS(数据存储)
- Common(辅助工具)
Hadoop 2.x/ 3.x 组成:
- MapReduce(计算)
- Yarn(资源调度)
- HDFS(数据存储)
- Common(辅助工具)
# 🐶HDFS 架构
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。
- NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的 DataNode 等。
- DataNode (dn):在本地文件系统存储文件块数据,以及块数据的校验和。
- Secondary NameNode(2nn):每隔一段时间对 NameNode 元数据备份。
# 🐶Yarn 架构
Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器。
- ResourceManager(RM):整个集群资源(内存、CPU 等)的老大
- NodeManager(NM):单个节点服务器资源老大
- ApplicationMaster(AM):单个任务运行的老大
- Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
客户端可以有多个
集群上可以运行多个 ApplicationMaster
每个 NodeManager 上可以有多个 Container
# 🐶MapReduce 架构
MapReduce 将计算过程分为两个阶段:Map 和 Reduce
Map 阶段并行处理输入数据
Reduce 阶段对 Map 结果进行汇总