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高可用,这种架构搭建用于生产环境。