大数据篇(1)--简介

mac2025-01-28  27

1.Hadoop的由来!

                 Hadoop之父Doug Cutting

                                                  

             

                 1. Hadoop最早起源于lucene下的Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。

                2. 2003年、2004年谷歌发表的三篇论文为该问题提供了可行的解决方案。

                              ——分布式文件系统(GFS),可用于处理海量网页的存储

                              ——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。

                              ——分布式的结构化数据存储系统Bigtable,用来处理海量结构化数据。

                 3. Doug Cutting基于这三篇论文完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目(同年,cloudera公司成立),迎来了它的快速发展期。

为什么叫Hadoop?  Logo为什么是黄色的大象?

                     狭义上来说,Hadoop就是单独指代Hadoop这个软件(HDFS+MAPREDUCE)

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

                                    

2.Hadoop的框架模型(1.x,2.x的各种架构模型介绍)

            1.X的版本框架模式介绍

                   

         

                           文件系统核心模块:

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

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

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

                            数据计算核心模块:

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

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

                           

 

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

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

               

 

                     文件系统核心模块:

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

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

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

                    数据计算核心模块:

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

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

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

             

        

                         文件系统核心模块:

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

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

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

                         数据计算核心模块:

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

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

 

 

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

             

                      文件系统核心模块:

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

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

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

                 数据计算核心模块:

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

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

 

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

              

 

 

                文件系统核心模块:

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

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

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

                数据计算核心模块:

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

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

 

最新回复(0)