Hadoop(二):Hadoop组成

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,后续将详细介绍三大组件
  • 熟悉大数据生态体系
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容