1)高可靠性:Hadoop底层拥有多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,数据也不会发生丢失
2)高扩展性:在集群间分配任务数据,可方便的拓展数以千计的节点
3)高效性:在mapreduce下,Hadoop并行工作,加快了任务处理的速度
4)高容错性:能够自动将执行失败的任务重新分配
Hadoop1.x的组成:common(辅助工具)、HDFS(数据存储)、MapReduce(计算、调度资源)
Hadoop2.x的组成:common(辅助工具)、HDFS(数据存储)、yarn(资源调度)、MapReduce(计算)
在Hadoop1.x中MapReduce负责资源的调度和计算,耦合性较大,而在Hadoop2.x中MapReduce只负责计算,由yarn来负责资源的调度,分工明确。
1 ) NameNode ︰存储文件的元数据,如文件名,文件目录结构,文件的一些属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
2 ) DataNode:在本地文件系统存储文件块数据,以及块数据的校验和。
3 ) Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
ResourceManager主要作用如下
(1)处理客户端请求
(2)监控NodeManager
(3)启动或者监控ApplicationMaster
(4)资源的调度与分配
NodeManager主要作用如下
(1)管理单个节点上的资源
(2)处理来自ResourceManager的命令
(3)处理来自ApplicationMaster的命令
ApplicationMaster作用如下
(1)负责数据的切分
(2)为应用程序申请资源并分配给内部的任务
(3)任务的监控与容错
Container
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
MapReduce将计算过程分为两个阶段: Map和 Reduce
(1)Map阶段并行处理输入数据
(2)Reduce阶段对Map结果进行汇.总