Hadoop简介

04-13 1415阅读

Hadoop

1、 Hadoop的介绍

  1. Hadoop最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
  2. 2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。

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

Hadoop简介
(图片来源网络,侵删)

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

  1. Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目.

狭义上来说,hadoop就是单独指代hadoop这个软件,

  • HDFS :分布式文件系统
  • MapReduce : 分布式计算系统
  • Yarn:分布式样集群资源管理

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

    2、hadoop的历史版本和发行版公司

    2.1 Hadoop历史版本

    1.x版本系列:hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等

    2.x版本系列:架构产生重大变化,引入了yarn平台等许多新特性

    3.x版本系列: 加入多namenoode新特性

    2.2 Hadoop三大发行版公司
    • 免费开源版本apache:

      http://hadoop.apache.org/

      优点:拥有全世界的开源贡献者,代码更新迭代版本比较快,

      缺点:版本的升级,版本的维护,版本的兼容性,版本的补丁都可能考虑不太周到,

      apache所有软件的下载地址(包括各种历史版本):

      http://archive.apache.org/dist/

      hadoop下载地址

      https://archive.apache.org/dist/hadoop/core/

      • 免费开源版本hortonWorks:

        https://hortonworks.com/

        hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址(http://ambari.apache.org/)

        • 软件收费版本ClouderaManager:

          https://www.cloudera.com/

          cloudera主要是美国一家大数据公司在apache开源hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题

          3、hadoop的架构模型

          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分配的任务

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]