hadoop概论(1)
1.项目起源
• Hadoop由 Apache Software Foundation 公司于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发
Google是Hadoop的思想之源(Google在大数据方面的三篇论文)
• GFS ====> HDFS
• Map-Reduce ====> MR
• BigTable ====> HBase
2.Hadoop的优势
- 高可靠性:
因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。 - 高扩展性:
在集群间分配任务数据,可方便的扩展数以千计的节点。 - 高效性:
在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。 - 高容错性:
自动保存多份副本数据,并且能够自动将失败的任务重新分配。
3.Hadoop组成
- Hadoop HDFS:
一个高可靠、高吞吐量的分布式文件系统。 - Hadoop MapReduce:
一个分布式的离线并行计算框架。 - Hadoop YARN:
作业调度与集群资源管理的框架。 - hadoop Common:
支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
4.HDFS架构概述
- Namenode:存储元数据
- Datanode:存储数据的节点,会对数据块进行校验
- Secondarynamenode:监控namenode 的元数据,每隔一定的时间进行元数据的合并
5.YARN架构概述
- ResourceManager(rm):
处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度 - NodeManager(nm):
单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令 - ApplicationMaster:
数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错 - Container:
对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境
6.MapReduce架构概述
- MapReduce将计算过程分为两个阶段:Map和Reduce
- Map阶段并行处理输入数据
- Reduce阶段对Map结果进行汇总