Hadoop简介

Hadoop

1、 Hadoop的介绍

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

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

——分布式计算框架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分配的任务

相关推荐

  1. Hadoop简介

    2024-04-10 06:14:01       36 阅读
  2. 05 Hadoop简单使用

    2024-04-10 06:14:01       25 阅读
  3. Hadoop之HDFS重点架构原理简介

    2024-04-10 06:14:01       25 阅读
  4. hadoop-hdfs简介及常用命令详解(超详细)

    2024-04-10 06:14:01       46 阅读
  5. hadoop-yarn简介及常用命令详解(超详细)

    2024-04-10 06:14:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 06:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 06:14:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 06:14:01       82 阅读
  4. Python语言-面向对象

    2024-04-10 06:14:01       91 阅读

热门阅读

  1. 数据仓库理论与实战

    2024-04-10 06:14:01       30 阅读
  2. 高并发环境下的实现与优化策略

    2024-04-10 06:14:01       42 阅读
  3. 百度机器学习算法春招一二三面面经

    2024-04-10 06:14:01       33 阅读
  4. 基于Flask测试深度学习模型预测

    2024-04-10 06:14:01       40 阅读
  5. Vscode使用教程

    2024-04-10 06:14:01       34 阅读
  6. 【hive】单节点搭建hadoop和hive

    2024-04-10 06:14:01       32 阅读
  7. Hadoop 源码中使用ServiceLoader

    2024-04-10 06:14:01       39 阅读
  8. vscode 关键字记录

    2024-04-10 06:14:01       31 阅读
  9. Ajax、Fetch、Axios三者的区别

    2024-04-10 06:14:01       41 阅读
  10. 在 Vue 3 中使用 Axios 发送 POST 请求

    2024-04-10 06:14:01       37 阅读
  11. BERT的训练过程解析:从数据准备到fine-tuning

    2024-04-10 06:14:01       37 阅读