Hadoop简介
Hadoop是由Apache所开发的分布式系统基础架构,是适合海量数据的分布式存储和分布式计算的平台,Hadoop目前有四个模块,Hadoop common、Hadoop Distributed File System(HDFS)、Hadoop MapReduce和HadoopYarn。
Hadoop1 框架的核心设计是分布式存储(HDFS)和分布式计算(MapReduce)。分布式存储系统是将同一份文件中的数据分散到不同的节点上,利用存储系统对这些文件进行一个总的调度和管理。分布式计算时把一个需要非常巨大计算能力才能解决的问题分成许多小的部分,将这些小的部分分配给不同的计算机进行处理,最后把这些结果综合起来得到最终的结果,在Hadoop2 中核心设计是HDFS2和YARN(Yet Another Resource Negotiator),YARN是一种新的Hadoop资源管理器,可为上层应用提供统一的资源管理和调度,在YARN上面运行分布式计算,典型的计算模型有:MapReduce、Storm以及Spark等。
Hadoop核心架构
- HDFS2的架构
负责对数据的分布式存储,主从结构
主节点------NameNode
主节点应该最少两个以上,一般是两个或者三个(避免集群单点故障问题),负责的内容:
1.接收用户的请求操作,是用户操作的入口。
2.维护文件系统的目录结构,又称为命名空间。
从节点------DataNode
至少有一个,是数据实际存储的物理节点,只负责数据的存储。 - YARN的架构
是一个资源的调度和管理平台,主从结构
主节点------ResourceManager
主节点应该最少两个以上,一般是两个或者三个(避免集群单点故障问题),负责的内容:
1.即集群资源的分配和调度。
2.管理MapReduce、Storm以及Spark等计算模型,但是这些计算模型必须实现ApplicationMaster接口。
从节点------NodeManager
至少有一个,是数据实际存储的物理节点,主要是节点资源的管理。 - MapReduce的架构
依赖于磁盘IO的批处理计算模型,只有一个主节点----MRAppMaster,主要负责:
1.接收客户端提交的计算任务。
2.把计算任务分配给NodeManager中的Container执行,也就是任务调度。
3.监控Task的执行情况。