美文网首页
大数据Hadoop框架简介

大数据Hadoop框架简介

作者: Michaelhbjian | 来源:发表于2018-06-17 17:31 被阅读0次
image.png

Hadoop发展简史

Hadoop最初是由Apache Lucene项目的创始人DougCutting开发的文本搜索库。Hadoop源自始于2002年的Apache Nutch项目——一个开源的网络搜索引擎并且也是Lucene项目的一部分。2008年1月,Hadoop正式成为Apache顶级项目,Hadoop也逐渐开始被雅虎之外的其他公司使用。

什么是Hadoop?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。它具有以下几个方面的特性:

  • 高可靠性、高效性、高可扩展性、高容错性
  • 成本低
  • 运行在Linux平台上
  • 支持多种编程语言

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFSHDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relaxPOSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

核心设计:

  • HDFSHDFS为海量的数据提供了存储。
  • MapReduceMapReduce为海量的数据提供了计算。

Hadoop解决的问题

Hadoop就是解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理的问题。

Hadoop项目

图片.png

Hadoop集群中有哪些节点类型?

Hadoop的集群搭建在之前的博客中已经详细介绍了,下面介绍一下集群中的节点类型。

Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计算的MapReduceMapReduce的作业包括:

  • 1、从磁盘或者从网络读取数据,即IO密集工作。
  • 2、计算数据,即CPU密集工作。

Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡。一个基本的Hadoop集群中的节点主要有:

  • NameNode(名称节点):负责协调集群中的数据存储
  • DateNode(数据节点):存储被拆分的数据块
  • JobTracker:协调数据计算任务
  • TaskTracker:负责执行有JobTracker指派的任务
  • SecondaryNameNode(第二名称节点):帮助NameNode收集文件系统运行的状态信息
  • ResourceManager:在YARN中,负责集群中所有资源的统一管理和分配,它接受来自各个节点的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序。
图片.png

Apache Hadoop YARN

YARN的作用

YARN是一个通用的开源集群管理员。在Hadoop MapReduce2.0中,集群管理员和作业调度、监控是分开的进程。YARN提供了集群管理功能,应用指定的master则提供作业调度、监控的功能。

YARN的架构

YARN集群管理员由两个关键组件组成:ResourceManagerNodeManager

  • NodeManager管理单个节点上可以使用的资源;
  • ResourceManager管理集群中所有节点上可使用的资源,它将NodeManager报告的资源汇总到一起并将它们分配给不同的应用。它本质上就是一个master,在应用之间调度集群的可用资源。

基于YARN的分布式计算框架有三部分组成:客户端应用、ApplicationMaster、容器。

image
  • 客户端应用:客户端应用想ResourceManager提交作业。举例来说,spark-submit脚本就是一个客户端应用。
  • ApplicationMasterApplicationMaster通常由诸如SparkMapReduce这样的库提供。这些库会为每一个应用创建一个ApplicationMasterApplicationMaster在YARN集群上拥有一个作业机会并会运行这个作业。ApplicationMaster会与ResourceManager协商资源并且与NodeManager一起使用容器来执行作业。它会监控作业并追踪作业的跨度。ApplicationMaster在运行NodeManager的诸多设备中的一台上运行。
    • 容器从概念上看代表单个节点上可供一个应用使用的资源。ApplicationManagerResourceManager协商执行作业所需的容器。一旦容器成功分配,它将在集群节点上和NodeManager一起启动容器。NodeManager管理在设备上运行的容器。

ResourceManager由两个关键组件构成:ApplicationManagerScheduler

  • ApplicationManagerApplicationManager从客户端应用获取作业并分配第一个容器来运行ApplicationMaster
  • SchedulerSchedulerApplicationMaster分配用于执行作业的集群资源。它只提供调度功能,并不监控应用或追踪应用的状态。

参考资料

http://dblab.xmu.edu.cn/

相关文章

  • 大数据技术框架

    大数据技术框架****3 1. 简介****3 2. Hadoop框架****3 2.1. Hadoop-MapR...

  • Hadoop入门笔记

    引言 大数据应用案例分析 友盟马蜂窝 大数据框架简介 大数据 Hadoop发展史 初识Hadoop Apache ...

  • 大数据Hadoop框架简介

    Hadoop发展简史 Hadoop最初是由Apache Lucene项目的创始人DougCutting开发的文本搜...

  • Hadoop 笔记

    Hadoop框架简介 HDFS 数据存储NameNode:存储数据的元数据相当于书籍的目录 DataNode本地的...

  • Hadoop&spark

    简介 hadoop 和 spark是两种大数据框架。hadoop提供了分布式文件系统hdfs进行数据存储和管理,在...

  • 大数据入门与实战-Spark上手

    1 Spark简介 1.1 引言 行业正在广泛使用Hadoop来分析他们的数据集。原因是Hadoop框架基于简单的...

  • hadoop shuffle 过程

    MapReduce简介 在Hadoop MapReduce中,框架会确保reduce收到的输入数据是根据key排...

  • Spark 极简教程

    Spark 并行计算框架简介 大规模数据处理 类Hadoop MapReduce的通用并行框架. 分布式计算引擎 ...

  • Hadoop的数据采集框架

    问题导读:Hadoop数据采集框架都有哪些?Hadoop数据采集框架异同及适用场景? Hadoop提供了一个高度容...

  • Hadoop集群介绍和安装

    Hadoop简介 Hadoop是用于存储数据和商用硬件集群运行应用程序的开源软件框架,它提供了海量存储任何类型的数...

网友评论

      本文标题:大数据Hadoop框架简介

      本文链接:https://www.haomeiwen.com/subject/aciweftx.html