一、概述
1、简介
- Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。
- 主要解决海量数据的存储和海量数据的分析计算问题。
- 广义上来说,Hadoop 通常是指一个更广泛的概念——Hadoop 生态圈。
2、Hadoop 优势
- 高效性:在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
- 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
- 高可靠性:Hadoop 底层维护多个数据副本,所以即使 Hadoop 某个计算元素或存储出现故障,也不会导致数据的丢失。
二、架构
1、Hadoop 组成
2、HDFS
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。
- NameNode:就是 Master,它是一个主管、管理者。
- 管理 HDFS 的名称空间;
- 配置副本策略;
- 管理数据块(Block)映射信息;
- 处理客户端读写请求。
- DataNode:就是 Slave。NameNode 下达命令,DataNode 执行实际的操作。
- 存储实际的数据块;
- 执行数据块的读/写操作。
- Client:就是客户端。
- 文件切分。文件上传 HDFS 的时候,Client 将文件切分成一个一个的 Block,然后进行上传;
- 与 NameNode 交互,获取文件的位置信息;
- 与 DataNode 交互,读取或者写入数据;
- Client 提供一些命令来管理 HDFS,比如 NameNode 格式化;
- Client 可以通过一些命令来访问 HDFS,比如对 HDFS 增删查改操作;
- Secondary NameNode:并非 NameNode 的热备。当 NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。
- 辅助 NameNode,分担其工作量,比如定期合并 Fsimage 和 Edits,并推送给 NameNode;
- 在紧急情况下,可辅助恢复 NameNode。
3、YARN
Yet Another Resource Negotiator 简称 YARN,另一种资源协调者,是 Hadoop 的资源管理器。
4、MapReduce
MapReduce 将计算过程分为两个阶段:Map 和 Reduce。
- Map 阶段并行处理输入数据
- Reduce 阶段对 Map 阶段的结果进行汇总


