ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

04 Hadoop思想与原理

2021-10-24 01:03:59  阅读:194  来源: 互联网

标签:04 ResourceManager Hadoop 集群 当中 原理 数据 节点


一、用图与自己的话,简要描述Hadoop起源与发展阶段。

从与谷歌系统的关系,关键时间节点,1.x,2.x与3.x的区别,不同公司发行版本等方面来讲。

答:Hadoop是一个对海量数据存储和海量数据分析计算的分布式系统。

Hadoop 1.x
海量数据存储 ------->HDFS
海量数据分析计算 -------> MapReduce
Hadoop 2.x 增加
资源调度系统 -------> Yarn

从hadoop最初的原型来看,hadoop已经远远超过了本身的批处理。从广义上来说,hadoop现在可以是指更广泛的一个hadoop生态了,而不仅仅是HDFS,MapReduce和Yarn。例如Hive,Hbase,Flume,Sqoop等等项目都属于这个生态。下图展示为Hadoop的生态圈。

 

 

 

1、Hadoop的发展

Hadoop起源于开源网络搜索引擎Apache Nutch,后者本身也是Lucene项目的一部分。Nutch项目面世后,面对数据量巨大的网页显示出了架构的灵活性不够。当时正好借鉴了谷歌分布式文件系统,做出了自己的开源系统NDFS分布式文件系统。第二年谷歌又发表了论文介绍了MapReduce系统,Nutch开发人员也开发出了MapReduce系统。随后NDFS和MapReduce命名为Hadoop,成为了Apache顶级项目。

从Hadoop的发展历程来看,它的思想来源于Google的三篇技术性论文,一是GFS:Goolgle File System分布式处理系统,这解决了Hadoop的存储问题;二是Mapreduce:分布式计算模型,这解决了Hadoop对数据进行计算处理的问题;三是BigTable,这解决了查询分布式存储文件慢的问题。

2、Hadoop的发行版本

Hadoop的三大发行版本,分别为Apache、Cloudera、Hortonworks。

其中,Apache为最基础的版本,可以基于此做二次开发。下图为Hadoop的历史版本发展图。

 

 

 

3、Hadoop的架构模型

  1. x的版本架构模型介绍

 

 

 

文件系统核心模块(HDFS):

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据;

secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理;

DataNode:集群当中的从节点,主要用于存储集群当中的各种数据;

数据计算核心模块(MapReduce):

JobTracker:接收用户的计算请求任务,并分配任务给从节点;

TaskTracker:负责执行主节点JobTracker分配的任务。

 

2.x的版本架构模型介绍

第一种:NameNode与ResourceManager单节点架构模型

 

 

 

文件系统核心模块(HDFS):

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据;

secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理;

DataNode:集群当中的从节点,主要用于存储集群当中的各种数据;

数据计算核心模块(MapReduce):

ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分;

NodeManager:负责执行主节点ResourceManager分配的任务。

第二种:NameNode单节点与ResourceManager高可用架构模型

 

文件系统核心模块(HDFS):

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据;

secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理;

DataNode:集群当中的从节点,主要用于存储集群当中的各种数据;数据计算核心模块(MapReduce):

ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用;

NodeManager:负责执行主节点ResourceManager分配的任务。

第三种:NameNode高可用与ResourceManager单节点架构模型

 

文件系统核心模块(HDFS):

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,其中nameNode可以有两个,形成高可用状态;

DataNode:集群当中的从节点,主要用于存储集群当中的各种数据;

JournalNode:文件系统元数据信息管理;

数据计算核心模块(MapReduce):

ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分;

NodeManager:负责执行主节点ResourceManager分配的任务。

第四种:NameNode与ResourceManager高可用架构模型

 

文件系统核心模块(HDFS):

NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实现HA高可用;

JournalNode:元数据信息管理进程,一般都是奇数个;

DataNode:从节点,用于数据的存储;

数据计算核心模块(MapReduce):

ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用;

NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务。

4、Hadoop的优势

(1)高可靠性

Hadoop在出现故障时可以对失败的节点重新分布处理。

(2)高扩展性

在集群间分配任务数据,可以方便地扩展数以千计的节点。

(3)高效性

Hadoop并行工作,以加快任务处理速度。

(4)高容错性

Hadoop自动保存多副本数据,并且可以将失败的任务重新分配。

 

二、用图与自己的话,简要描述名称节点、第二名称节点、数据节点的主要功能及相互关系 

答:数据节点是分布式文件系统HDFS的工作节点,它的主要功能包括负责数据的存储和读取,根据客户端或者是名称节点的调度来进行数据的存储和检索,然后向名称节点定期发送自己所存储的块的列表。

在HDFS中,名称节点的主要功能为存储元数据,负责管理分布式文件系统的命名空间,其内保存了两个核心的数据结构,FsImage和EditLog。

第二名称节点:是HDFS架构中的一个组成部分,它用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间,第二名称节点通过HTTPGET方式从名称节点上获取到FsImage和EditLog文件,并下载到本地的相应目录下。

标签:04,ResourceManager,Hadoop,集群,当中,原理,数据,节点
来源: https://www.cnblogs.com/unique0416/p/15450113.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有