Hadoop 是什么
- Hadoop 是一个由 Apache 基金会开发的分布式系统基础架构。
- 主要解决海量数据的存储和海量数据的分析计算问题。
- 广义来说,Hadoop是指一个更广泛的概念 —— Hadoop 生态圈。
Hadoop 三大发行版本
- Apache 版本最原始(最基础)的版本,对于入门学习最好。
- Cloudera 内部集成了很多大数据框架,对应产品CDH。
- Hortonworks 文档较好,对应产品HDP(现已被 Cloudera 公司收购,推出新的品牌 CDP)。
Apache Hadoop
- 官网地址:Apache Hadoop
- 下载地址:Apache Hadoop
Cloudera Hadoop
Hadoop 优势(4高)
- 高可靠性:Hadoop 底层维护多个数据副本,所以即使Hadoop某个计算单元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点(动态增加、删除服务器)。
- 高效性:在 MaoReduce 的思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
Hadoop 1.x、2.x、3.x 区别(面试重点)
- Hadoop 1.x 组成:MapReduce(计算+资源调度) HDFS(数据存储)Common(辅助工具)
- Hadoop 2.x 组成:MapReduce(计算)Yarn(资源调度) HDFS(数据存储)Common(辅助工具)
- Hadoop 3.x 组成:在组成上没有变化
Hadoop组成(面试重点)
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、磁盘、网络等。
说明1:客户端可以有多个
说明2:集群上可以运行多个 ApplicationMaster
说明3:每个 NodeManager 上可以有多个 Container
MapReduce 架构概述
MapReduce 将计算过程分为两个阶段:Map 和 Reduce
- Map 阶段并行处理输入的数据
- Reduce 阶段对 Map 结果进行汇总