Hadoop 简单介绍与架构模型

1.Hadoop简介

核心思想:

(1).分布式文件系统(GFS)

存在的问题1:不可靠性;即如果其中一台计算机宕机了,也就是某个文件切片丢失了,这会造成数据不完整。

GFS提供的解决方案:每台计算机存放多个切片副本

存在的问题2:如果文件非常大,比如2T,那么此时可能对文件切片后的依旧无法存储

GFS提供的解决方案:横向扩展,增加计算机的数量,并将大文件多切几份,切的足够小。

HDFS 是 基于 GFS 的分布式文件系统

(2).分布式计算框架(MAPREDUCE)

狭义上来说,Hadoop就是单独指代Hadoop这个软件,它包括:

广义上来说,Hadoop指代大数据的一个生态圈,包括很多其他软件:

2.Hadoop的历史版本与发行版公司

2.1Hadoop历史版本

目前来说,比较常用的是2.x版本。

3.Hadoop三大发版公司

(1).apache

下载地址: http://archive.apache.org/dist/

(2).hortonWorks

(3).CloderaManager

本文用的是apache公司发版的Hadoop

3.Hadoop架构模型

1.x的版本架构模型介绍:(主从架构)

HDFS分布式文件系统:

1.Namenode:集群当中的主节点,管理元数据(文件的大小、位置、权限等),主要用于管理集群当中的各种数据

2.Secondary NameNode:主要用于Hadoop当中元数据信息的辅助管理。(当数据量过大时,元数据信息量非常大,Secondary NameNode可以减轻Namede的负担)

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

namenode十分重要,如果namenode挂了,那么整个集群就挂了。如果是一个datanade挂了,因为它有副本,不影响数据的完整性,所以对集群没有任何影响。

MapReduce分布式计算框架:

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

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

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

引入了Yarn资源调度系统,MapReduce运行在Yarn之上

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

HDFS分布式文件系统:

1.Namenode:集群当中的主节点,主要用于管理集群当中的各种数据

2.Secondary NameNode:主要用于Hadoop当中元数据信息的辅助管理

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

数据计算核心模块:

1.ResourceManager:接收用户的计算请求任务,并负责集群的资源分配。(JobTracker)

2.NodeManager:负责执行主节点AppMaster分配的任务。(TaskTracker)

缺陷:单点故障问题,如果NanemNode宕机,则整个存储系统就挂了;如果ResourceManager宕机,则整个计算集群就挂了。

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

特点:增加了ResourceManager高可用,Zookeeper实时监控ResourceManager主节点的状态,一旦主节点宕机,则立即通知ResourceManager备份节点来接管主节点。

HDFS分布式文件系统:

1.Namenode:集群当中的主节点,主要用于管理集群当中的各种数据

2.Secondary NameNode:主要用于Hadoop当中元数据信息的辅助管理

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

数据计算核心模块:

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

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

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

特点:增加了NameNode高可用,Zookeeper实时监控NameNode主节点的状态,一旦主节点宕机,则立即通知NameNode备份节点来接管主节点。

NameNode主要用于管理元数据,则需要主备节点数据完全一致,便需要用到Journal Node,它可以实现主备NameNode节点数据的实时同步。

HDFS分布式文件系统:

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

2.Secondary NameNode:主要用于Hadoop当中元数据信息的辅助管理

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

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

数据计算核心模块:

1.ResourceManager:接收用户的计算请求任务,并负责集群的资源分配。(JobTracker)

2.NodeManager:负责执行主节点AppMaster分配的任务。(TaskTracker)

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

特点:整合了NameNode高可用与ResourceManager高可用,这种架构搭建用于生产环境。

猜你喜欢

转载自blog.csdn.net/lilygg/article/details/109819992