Hadoop是什么?
- Apache开发的一套分布式系统基础架构
- 主要解决海量数据存储,和海量数据计算的问题
- Hadoop更广泛的说,就是一个生态圈
Hadoop发展历史
- Gfs-hdfs
- Map-reduce-MR
- BigTable-hbase
Hadoop三大发行版本
- Apache:最原始的基础版本,入门方便
- Cloudera:大型互联网企业中应用较多
- Hortonworks:文档较好
Hadoop优势
- 高可靠:底层默认维护多个原数据副本,即使hadoop在计算或处理某个单元时出现故障,也不会导致数据的丢失
- 高扩展:通过集群形式处理分配任务数据,可大量扩展集群节点
- 高效性:在MapReduce的思想下,hadoop是并行工作的,加速任务的处理。
- 高容错性:能够将自身处理失败的任务重新分配
Hadoop的组成
Hadoop1.x
辅助工具common---hdfs数据存储服务—mapreduce(计算+资源调度)
Hadoop2.x
辅助工具common---hdfs数据存储服务—mapreduce(计算)—Yarn(资源调度)
1.Hdfs架构概述
1)Namedode:存储文件的元数据,如文件名,目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和所在的datanode
2)Datanode:在本地文件系统存储文件块数据,以及块数据的校验和
3)Secondary Namenode(2nn):用来监控hdfs状态的辅助后台程序,没隔一段时间获取hdfs元数据快照
2.Yarn架构
ResourceManager:RM
1)处理客户端请求
2)监控nodeManager
3)启动和监控applicaitonMaster
4)负责资源分配和调度
NodeManger(NM)
1)管理自己节点上的资源
2)处理来自resourcemanger的命令
3)处理applicationMaster的命令
AppicaitonMater
1)负责数据的切分
2)负责资源申请,任务的分配和调度
3)任务的监控和容错
Container
Container是yarn中资源抽象,封装了某个节点上的多维度资源,如cpu,内存,磁盘,网络等
3.MapReduce架构
MapReduce在大hadoop中负责处理计算的角色,主要分为两个阶段:Map和Reduce
1)Map阶段,负责并行处理输入数据
2)Reduce阶段:对map阶段结构进行汇总
来源:oschina
链接:https://my.oschina.net/u/2453460/blog/3191150