Hadoop

Hadoop依靠MapReduce的数据处理
HDFS: HDFS是一个分布式文件系统,是 Hadoop 的存储核心, 它可以被部署运行于大量的廉价服务器上,可以处理超大文件,它的设计是建立在“一次写入,多次读取的”思想之上。对于被上传到 HDFS 上的数据,系统会对其进行分块分进行保存,分块概念的存在是 HDFS 可以存储大量文件的重要原因。 HDFS 中有两个重要概念 NameNode 和 DataNode,NameNode 是中心服务器,负责管理文件系统命名空间以及客户端对文件的访问, DataNode 是 Hadoop 集群的主体, 一般的一个存储节点运行一个 DataNode 进程, DataNode 的作用是管理本节点上所存储的文件。

YARN(框架): 负责大数据的资源调度, 负责集群中所有计算资源的管理和调度

Yarn是针对 Hadoop 存在的 JobTracker 单点瓶颈, 编程框架不够灵活等问题提出的改进方案。通过将集群资源管理和作业管理分离开来,降低 JobTracker 的负载。其中集群 资 源 管 理 由 ResourceManager 负 责 , 作 业 管 理 由ApplicationMaster 负责, Container 负责为集群各个节点调度资源,与所有计算节点 NodeManager 共同构成新的数据计算框架。

常见进程:

ResourceManager(1个): 负责整个集群所有资源的管理
职责:
① 负责接受客户端的提交Job的请求
② 负责向NM分配任务
③ 负责接受NM上报的信息

NodeManager(N个): 负责单台计算机所有资源的管理
职责:
① 负责和RM进行通信,上报本机中的可用资源
② 负责领取RM分配的任务
③ 负责为Job中的每个Task分配计算资源

MR(编程模型): 使用Hadoop制定的编程要求,编写程序,完成大数据的计算
MapReduce 是一个并行计算框架,是 Hadoop的计算核心, 它通过将数据分割,并行处理等底层问题进行封装,使得用户只需要考虑自身所关注的并行计算任务的实现逻辑,从而极大的简化了分布式程序的设计,在整个计算过程中,数据始终以<key,value>键值对的形式存在。它的核心是 Map 函数与 Reduce 函数。

Hadoop通过主从模型,用一系列技术维护同时性,做出来一个可维护可高效率运行的大数据实时处理框架
程序中有Mapper(简单处理)和Reducer(合并)。
Client、JobTracker、TaskTracker以及Task

举个栗子,现在需要对全校的毕业论文做每个单词的词频统计。MapReduce的做法是把每篇论文的每个单词先做一个键值对形式的转化(Map),如(we,0),然后把转化后的键值对集分布到集群下各个子节点中(shuffle),这样每个普通计算机分到了比较少量的论文数量,再把他们按值键值相同的合并(Reduce),可能会是(we,10086),在统一将整理后的数据集返还给master节点,完成整个数据集的计算。

HDFS 以固定大小的block 为基本单位存储数据,而对于MapReduce 而言,其处理单位是split。split 是一个逻辑概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据所在节点等。它的划分方法完全由用户自己决定。
遵循MapReduce的编程规范,编写的程序,打包后,称为一个Job(任务)。

Job需要提交到YARN上,向YARN申请计算资源,运行Job中的Task(进程)。

Job会先创建一个进程MRAppMaster(mapreduce 应用管理者),由MRAppMaster向YARN申请资源。MRAppMaster负责监控Job中各个Task运行情况,进行容错管理。

Spark

Spark通过RDD进行系统能力扩展, RDD(分布式弹性数据集)其中有很多分区存储信息,还建立了与其他RDD之间的联系,这样就使得我们的数据集大小可控,可以根据业务需要进行数据分流操作,提高系统灵活性,运行速度也由于在MapRedeuce方面的改进而大大提高。

Spark仅仅是计算框架,不包含存储,对比的应该是MapReduce。

●MapReduce和Spark的主要区别在于,MapReduce使用持久存储,而Spark使用弹性分布式数据集(RDDS)。

●MapReduce是批处理框架,而Spark支持流式。

●Spark易用性要好。

RDD: RDD 是对分布式内存数据的一个抽象,对数据的所有操作最终会转换成对 RDD 的操作,即 RDD 是数据操作的基本单位。对于 RDD 的操作分为 Transformation(转换)和
Action(执行),其中 Transformation 又包括多种基本操作:map,filter,flatmap,groupByKey,reduceByKey,union 等;Action 操作包括:count,collect,reduce 等基本操作。Spark 对于两种操作采取不同机制:对于所有的转换操作都是惰性操作(懒执行),即从一个 RDD 通过转换操作生成另一个 RDD 的过程在 Spark 上并不会被马上执行,只有在 Action 操作触发时转换操作才会被真正执行。

DAG: 在一个 Spark 应用当中,数据执行流程是以 RDD 组成的有向无环图 DAG 的形式存在,Spark 根据用户提交的应用逻辑绘制 DAG 图,并且依据 RDD 之间的依赖关系,将 DAG 图划分成不同阶段(stage),但是 DAG 绘制完成之后并不会被马上执行,只是起到一个标记数据集的作用。下图就是一个DAG图:
Spark部署模式: 当前 Spark 存在多种部署模式,包括 Local 模式,Standalone模式,基于 Mesos 的模式以及基于 Yarn 的部署模式。其中基于 Yarn 的部署模式是当前最为主流的部署模式,其核心思想是利用 Hadoop Yarn 实现集群资源的管理。

Spark架构: 尽管 Spark 有不同的部署模式,但是其基本组成部分包括控制节点 Master 和作业控制进程 Driver,资源管理器 ClusterManager,执行节点 Worker 和执行单元 Executor 以及客户端 Client, 其中 Driver 进程位于 Master 主控节点上,一
个 Worker 节点一般维护一个 Executor 进程。

Hadoop和Spark三大核心组件介绍与对比相关推荐

  1. Hadoop三大核心组件及需求催生大数据技术的背景

    Spark是基于内存处理的,所以比基于磁盘处理的Hadoop要快.Hadoop是离线处理的,也就是 先要将数据收集过来,然后基于数据进行处理.Flume是数据采集,可以理解成是一个爬虫框架,把数据比如 ...

  2. Hadoop、Spark、Storm对比

    Hadoop.Spark.Storm对比 1 Hadoop.Spark.Storm基本介绍 1.1 Hadoop Hadoop项目是开发一款可靠的.可扩展性的.分布式计算的开源软件.通过编写MapRe ...

  3. Hadoop的三大核心组件

    Hadoop的三大核心组件分别是: HDFS(Hadoop Distribute File System):hadoop的数据存储工具. YARN(Yet Another Resource Negot ...

  4. 2021年大数据Hadoop(二十六):YARN三大组件介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn三大组件介绍 ResourceManager No ...

  5. hadoop的三大核心组件之HDFS和YARN

    Hadoop的三大核心组件之HDFS和YARN Hadoop集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起. (1)HDFS集群:负责海量数据的存储,集群中的角 ...

  6. Knative 核心概念介绍:Build、Serving 和 Eventing 三大核心组件

    为什么80%的码农都做不了架构师?>>>    作者| 阿里云智能事业群高级开发工程师 元毅 Knative 主要由 Build.Serving 和 Eventing 三大核心组件构 ...

  7. 从Hadoop到Spark和Flink,大数据处理框架十年激荡发展史

    当前这个数据时代,各领域各业务场景时时刻刻都有大量的数据产生,如何理解大数据,对这些数据进行有效的处理成为很多企业和研究机构所面临的问题.本文将从大数据的基础特性开始,进而解释分而治之的处理思想,最后 ...

  8. 从Hadoop到Spark、Flink,大数据处理框架十年激荡发展史

    abstract: 当前这个数据时代,各领域各业务场景时时刻刻都有大量的数据产生,如何理解大数据,对这些数据进行有效的处理成为很多企业和研究机构所面临的问题.本文将从大数据的基础特性开始,进而解释分而 ...

  9. 从Hadoop到Spark、Flink,大数据处理框架十年激荡发展史!

    当前这个数据时代,各领域各业务场景时时刻刻都有大量的数据产生,如何理解大数据,对这些数据进行有效的处理成为很多企业和研究机构所面临的问题.本文将从大数据的基础特性开始,进而解释分而治之的处理思想,最后 ...

  10. 大数据晋级之路(5)Hadoop,Spark,Storm综合比较

    大数据框架:Spark vs Hadoop vs Storm 目录 Hadoop Spark Storm 大数据时代,TB级甚至PB级数据已经超过单机尺度的数据处理,分布式处理系统应运而生. 知识预热 ...

最新文章

  1. xshell中mysql命令大全_Linux之Xshell脚本代码实例
  2. Matlab计时函数使用
  3. CTF的一道安卓逆向
  4. 【干货】2014Q4手游崩溃数据报告,iphone6第1、三星第2
  5. 闪电网络介绍以及试用 (上)
  6. 不停止mysql就卸载_MYSQL安装与卸载(一)
  7. 【右滑返回】滑动冲突 Scroller DecorView
  8. CRM数据库表COM_TA_R3_ID的数据来源
  9. kafka 异常:return ‘<SimpleProducer batch=%s>‘ % self.async ^ SyntaxError: invalid syntax
  10. oracle安装 衍生进程已退出,linux安装oracle 出现问题
  11. python编程单词排序_求教 Python 练习,单词排序
  12. Go没有枚举类型(enums),用const常量的iota替代
  13. 进程管理之工作管理详解(job control)
  14. 如何使用代理服务器更新系统_iPhone如何屏蔽iOS系统更新支持iOS12 iOS13
  15. 初入python,被面试官问道,它的环境有几个。
  16. java 3dm_3DM游戏运行库合集安装包v3.0
  17. 1.微信小程序(colorUI)- 引入colorUI
  18. 火龙果卡密生成获取get!{火龙果邀请码指定卡密}
  19. 阿里巴巴Java开发手册
  20. html扫雷源码js,js实现扫雷源代码.pdf

热门文章

  1. 《Spring微服务实战》读书笔记——构建微服务
  2. 软硬件融合新时代——让软件够灵活,硬件够高效,鱼和熊掌可兼得
  3. 复旦大学肖仰华教授在线授课!从专家系统到知识图谱演进
  4. 软件测试管理是什么?
  5. 2.7 HDFS的使用
  6. 19【推荐系统13】FNN——TensorFlow2实现
  7. 16.6 假新闻识别 Fake News Detection on Social Media A Data Mining Perspective
  8. Machine Learning - XVIII. Application Example Photo OCR应用实例-照片OCR(Week10)
  9. android Toast五种特效
  10. 蓝桥杯2019年第十届C/C++省赛B组第一题-组队