(1) 什么是Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
(2) Hadoop的优势
高可靠性
Hadoop底层维护多个数据副本,所有即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
高扩展性
在集群间分配任务数据,可方便的扩展数以千计的节点
高效性
在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
高容错性
能够自动将失败的任务进行重新分配
(3) HDFS的架构概述
NameNode
存储文件的元数据,如文件名,文件目录结构,文件属性(创建时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等
DataNode
在本地文件系统存储文件块数据,以及块数据的校验和
Secondary NameNode
用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
(4) Yarn的架构概述
Resource Manager
处理客户端的请求
监控Node Manager
启动或监控ApplicationMaster
资源的分配与调度
Node Manager
管理单个节点上的资源
处理来自Resource Manager的命令
处理来自ApplicationMaster的命令
Application Masterr
负责数据的切分
为应用程序申请资源并分配给内部的任务
任务的监控与容错
Container