一、Hadoop是什么
Hadoop是一个由apache开发的分布式系统基础架构。
主要解决海量数据的存储和海量数据的分析计算问题。
广义上来说,Hadoop通胀指一个更宽泛的概念——Hadoop生态圈
1、Hadoop优势
高可靠性:Hadoop底层维护多个数据副本,即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
高扩展性:在集群见分配任务数据,可方便的扩展数以千计的节点。
高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
高容错性:能够自动将失败的任务重新分配。
2、Hadoop1.x、2.x、3.x区别
Hadoop1.x中,Hadoop的MapReduce同时处理业务逻辑运算和资源的调度,耦合性比较大。
在Hadoop2.x中增加了Yarn。Yarn负责资源的调度,MapReduc负责运算。Hadoop3.x在组成上与Hadoop2.x一致。
3、Hadoop运行模式
- 本地模式:
单机运行,只是用来演示一下官方案例。生产环境不用。
- 伪分布式模式:
也是单机运行,但是具备 Hadoop 集群的所有功能,一台服务器模拟一个分布式的环境。一般用来测试,生产环境不用。
- 完全分布式模式:
多台服务器组成分布式环境。生产环境使用。
二、Hadoop三大架构
HDFS架构概述
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。
- NameNode(nn):
存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
- DataNode(dn):
在本地文件系统存储文件块数据,以及块数据的校验和。
- Secondary NameNode(2nn):
每隔一段时间对NameNode元数据备份。
YARN架构概述
Yet Another Resource Negotiator简称YARN,是一种资源协调这,是Hadoop的资源管理器。
- ResoueceManager(RM):
整个集群资源(内存、CPU等)的老大。
- NodeManager(NM):
单个节点服务器资源老大。
- ApplicationMaster(AM):
单个任务运行的老大。
- Container:
容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
【注】
客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container
MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
三、HDFS、YARN、MapReduce三者关系
客户端Client提交任务到资源管理器(ResourceManager),资源管理器接收到任务之后去NodeManager节点开启任务(ApplicationMaster),ApplicationMaster向ResourceManager申请资源,若有资源ApplicationMaster负责开启任务即MapTask。
开始干活了即分析任务,每个map独立工作,各自负责检索各自对应的DataNode,将结果记录到HDFS,DataNode负责存储,NameNode负责记录,2nn负责备份部分数据。
四、大数据生态框架
版权归原作者 five小点心 所有, 如有侵权,请联系我们删除。