Hadoop组成
2.0 Hadoop组成.jpg在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性比较大。
在Hadoop2.x时代,增加了Yarn。MapReduce只负责运算,Yarn负责资源的调度。
Hadoop3.x在组成上和Hadoop2.x没有变化。
Hadoop的三大核心组件
- HDFS(Hadoop Distribute File System):hadoop的数据存储工具
- MapReduce:分布式计算框架
- YARN(Yet Another Resource Negotiator):Hadoop的资源管理器
后续文章围绕基于Hadoop3.x版本三大组件展开,首先先了解下相关概念。
HDFS
HDFS是google三大论文之一的GFS的开源实现,是一个高度容错性的系统,适合部署在廉价的机器上的,适合存储海量数据的分布式文件系统。
在HDFS中,1个文件会被拆分成多个Block每个Block默认大小为128M。这写Block被复制为多个副本,被存放在不同的主机上,这也保证了HDFS的高容错性。
2.6 hdfs.gif
- NameNode(nn): 数据存储在什么位置;存储文件的元数据,如文件名、文件目录、文件属性以及每个文件的块列表和块所在的DataNode等。
- DataNode(dn):具体存储数据的位置;在本地文件系统存储文件块的数据,以及块数据的校验和。
- Secondary NameNode(nn):辅助NameNode工作;每隔一段时间对NameNode数据备份。
MapReduce
Hadoop的MapReduce是对google三大论文的MapReduce开源实现,实际上是一种编程模型,用于处理海量数据的运算。
2.7 mapreduce.jpg
MapReduce将计算过程分为两个阶段:map和reduce
- map阶段并行处理输入数据
- reduce阶段对map结果进行汇总
YARN
Apache Hadoop YARN是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供同一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据通向等方面带来了巨大的好处。通过YARN,不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度。
2.2.1 yarn组成.jpg
- ResourceManager(RM):整个集群资源(内存、cpu)的老大
- NodeManager(NM):单节点服务器资源的老大
- ApplicationMaster(AM):单任务运行的老大
- Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
- Client:客户端,可以有多个
说明: - 客户端可以有多个
- 集群上可以运行多个ApplicationMaster
- 每个NodeManager可以有多个Container
- Container默认开启1~8G内存,至少分配一个CPU
HDFS、MR、YARN关系
2.3.1 hdfs、mr、yarn三者关系.jpg大数据生态体系
2.4 大数据技术生态体系.jpg小结
- 了解Hadoop三大核心组件,简述HDFS、MR、YARN,后续将详细介绍三大组件
- 熟悉大数据生态体系
网友评论