大数据4 - 分布式计算

这篇具有很好参考价值的文章主要介绍了大数据4 - 分布式计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.分布式计算概述

分散->汇总模式:

1. 将数据分片,多台服务器各自负责一部分数据处理

2. 然后将各自的结果,进行汇总处理

3. 最终得到想要的计算结果

1. 什么是计算、分布式计算?

计算:对数据进行处理,使用统计分析等手段得到需要的结果

 

分布式计算:多台服务器协同工作,共同完成一个计算任务

2. 分布式计算常见的2种工作模式

分散 -> 汇总  MapReduce 就是这种模式)
中心调度 -> 步骤执行 (大数据体系的 Spark Flink 等是这种模式)

2.MapReduce概述 

大数据4 - 分布式计算

 分布式计算框架 - MapReduce

MapReduce分散->汇总模式的分布式计算框架,可供开发人员开发相关程序进行分布式数据计算。

MapReduce提供了2个编程接口:

Map
Reduce

其中

Map 功能接口提供了 分散 的功能, 由服务器分布式对数据进行处理
Reduce 功能接口提供了 汇总(聚合) 的功能,将分布式的处理结果汇总统计

用户如需使用MapReduce框架完成自定义需求的程序开发

只需要使用JavaPython等编程语言,实现Map Reduce功能接口即可。

MapReduce执行原理:

一个案例,简单分析一下,MapReduce是如何完成分布式计算的。

假设有如下文件,内部记录了许多的单词。且已经开发好了一个MapReduce程序,功能是统计每个单词出现的次数。

大数据4 - 分布式计算

 

 MapReduce执行原理:

假定有4台服务器用以执行MapReduce任务

可以3台服务器执行Map1台服务器执行Reduce

大数据4 - 分布式计算

 

1. 什么是MapReduce

MapReduce Hadoop 中的分布式计算组件
MapReduce 可以以分散 -> 汇总(聚合)模式执行分布式计算任务

2. MapReduce的主要编程接口

map 接口,主要提供 分散 功能,由服务器分布式处理数据
reduce 接口,主要提供 汇总 功能,进行数据汇总统计得到结果
MapReduce 可供 Java Python 等语言开发计算程序
注: MapReduce 尽管可以通过 Java Python 等语言进行程序开发,但当下年代基本没人会写它的代码了,因为太过时了。   尽管 MapReduce 很老了,但现在仍旧活跃在一线,主要是 Apache Hive 框架非常火,而 Hive 底层就是使用的 MapReduce 所以对于 MapReduce 的代码开发,课程会简单扩展一下,但不会深入讲解,对 MapReduce 的底层原理会放在 Hive 之后,基于 Hive 做深入分析。

3. MapReduce的运行机制

将要执行的需求,分解为多个 Map Task Reduce Task
Map Task Reduce Task 分配到对应的服务器去执行

 

3.YARN概述 

MapReduce是基于YARN运行的,即没有YARN”无法运行MapReduce程序

大数据4 - 分布式计算 

大数据4 - 分布式计算 

大数据4 - 分布式计算 

大数据4 - 分布式计算 

大数据4 - 分布式计算 

大数据4 - 分布式计算 

大数据4 - 分布式计算 

YARN的资源调度

YARN 管控整个集群的资源进行调度, 那么应用程序在运行时,就是在YARN的监管(管理)下去运行的。

这就像:全部资源都是公司(YARN)的,由公司分配给个人(具体的程序)去使用。

比如,一个具体的MapReduce程序。

我们知道, MapReduce程序会将任务分解为若干个Map任务和Reduce任务。

假设,有一个MapReduce程序, 分解了3Map任务,和1Reduce任务,那么如何在YARN的监管(管理)下运行呢?

大数据4 - 分布式计算

 

大数据4 - 分布式计算 

1. YARN是做什么的?

YARN是Hadoop的一个组件
用以做集群的资源(内存、CPU等)调度

2. 为什么需要资源调度

将资源统一管控进行分配可以提高资源利用率

3. 程序如何在YARN内运行

程序向 YARN 申请所需资源
YARN 为程序分配所需资源供程序使用

4. MapReduce和YARN的关系

YARN 用来调度资源给 MapReduce 分配和管理运行资源
所以, MapReduce 需要 YARN 才能执行(普遍情况)

 4. YARN架构

1. 掌握 YARN 的运行角色和角色之间的关系
2. 理解使用容器做资源分配和隔离

大数据4 - 分布式计算 

 大数据4 - 分布式计算

 大数据4 - 分布式计算

 大数据4 - 分布式计算

 大数据4 - 分布式计算

 

 大数据4 - 分布式计算

1. YARN的架构有哪2个角色?

主(Master ): ResourceManager
从(Slave ): NodeManager

2. 两个角色各自的功能是什么?

ResourceManager 管理、统筹并分配整个集群的资源
NodeManager :管理、分配单个服务器的资源,即创建管理容器,由容器提供资源供程序使用

3. 什么是YARN的容器?

容器( Container )是 YARN NodeManager 在所属服务器上分配资源的手段
创建一个资源容器,即由 NodeManager 占用这部分资源
然后应用程序运行在 NodeManager 创建的这个容器内
应用程序无法突破容器的资源限制
ps :容器是虚拟化的相关机制,后续我们会详细讲解

大数据4 - 分布式计算 

 YARN辅助角色

YARN的架构中除了核心角色,即:

ResourceManager :集群资源总管家
NodeManager :单机资源管家

还可以搭配2个辅助角色使得YARN集群运行更加稳定

代理服务器 ( ProxyServer ) Web Application Proxy Web 应用程序代理
历史服务器 ( JobHistoryServer ) 应用程序历史信息记录服务

 

YARN的架构有哪些角色文章来源地址https://www.toymoban.com/news/detail-420627.html

核心角色: ResourceManager NodeManager
辅助角色: ProxyServer ,保障 WEB UI 访问的安全性
辅助角色: JobHistoryServer ,记录历史程序运行信息和日志

到了这里,关于大数据4 - 分布式计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式系统(Distributed Systems)概述

    随着互联网的持续发展(以Web应用为代表)、计算机应用的深入、分布式系统构建技术的日益成熟,分布式系统逐渐深入到人们的日常生活,并渗透到社会、经济、文化生活的各个方面。现如今,分布式系统已成为主流的软件系统。本文主要介绍下分布式系统的特征和在进行分

    2024年02月14日
    浏览(44)
  • 分布式id的概述与实现

    随着业务的增长,数据表可能要占用很大的物理存储空间,为了解决该问题,后期使用数据库分片技术。将一个数据库进行拆分,通过数据库中间件连接。如果数据库中该表选用ID自增策略,则可能产生重复的ID,此时应该使用分布式ID生成策略来生成ID。 提示:以下是本篇文

    2024年02月07日
    浏览(33)
  • 云计算与大数据第16章 分布式内存计算平台Spark习题

    1、Spark是Hadoop生态(  B  )组件的替代方案。 A. Hadoop     B. MapReduce        C. Yarn             D.HDFS 2、以下(  D  )不是Spark的主要组件。 A. Driver      B. SparkContext       C. ClusterManager D. ResourceManager 3、Spark中的Executor是(  A  )。 A.执行器      B.主节

    2024年02月14日
    浏览(119)
  • 云计算与大数据处理:分布式系统与集群技术

    随着互联网的不断发展,数据的产生和存储量日益庞大,传统的单机计算方式已经无法满足需求。因此,分布式系统和集群技术逐渐成为了解决大数据处理问题的重要手段。 分布式系统是指由多个独立的计算机节点组成的系统,这些节点可以在网络上进行通信和协同工作。集

    2024年04月12日
    浏览(54)
  • 结合云计算的最新技术和现状,介绍云计算基础知识、开源分布式数据库Clickhouse、可视化数据分析工具、分布式链路跟踪系统Pinpoint、数据湖存储系统Pulsar等

    作者:禅与计算机程序设计艺术 2019年,“云计算”将成为“经济全球化”的热门词汇之一,2020年全球云计算市场规模预计达到1万亿美元。中国是继美国、英国之后,成为全球第四大云服务提供商。华为、腾讯、阿里巴巴等互联网巨头纷纷布局云计算领域,各家公司纷纷推出

    2024年02月08日
    浏览(56)
  • HDFS Hadoop分布式文件存储系统整体概述

    整体概述举例: 包括机架 rack1、rack2 包括5个Datanode,一个Namenode( 主角色 )带领5个Datanode( 从角色 ),每一个rack中包含不同的block模块文件为 分块存储模式 。块与块之间通过replication进行 副本备份 ,进行冗余存储,Namenode对存储的 元数据进行记录 。该架构可以概括为一个 抽象

    2024年02月16日
    浏览(72)
  • Hadoop学习1:概述、单体搭建、伪分布式搭建

    Hadoop: 分布式系统基础架构   解决问题: 海量数据存储、海量数据的分析计算   官网: https://hadoop.apache.org/   HDFS(Hadoop Distributed File System): 分布式文件系统,用于存储数据   Hadoop的默认配置【core-site.xml】: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/c

    2024年03月15日
    浏览(51)
  • 头歌Educoder云计算与大数据——实验三 分布式文件系统HDFS

    本关任务:使用Hadoop命令来操作分布式文件系统。 为了完成本关任务你需要了解的知识有:1.HDFS的设计,2.HDFS常用命令。 HDFS的设计 点点点…题目省略,懒得写了,下同 分布式文件系统 NameNode与DataNode HDFS的常用命令 在右侧命令行中启动Hadoop,进行如下操作。 在HDFS中创建

    2024年02月13日
    浏览(60)
  • 头歌Educoder云计算与大数据——实验五 Java API分布式存储

    原始电商数据都是存储在关系型数据库或 NoSQL 数据库上的,是面向OLTP(联机事务处理过程)的;数据都是面向业务的,而不是面向分析。因此数据比较复杂,表很多关联的数据是分散的,不利于统计分析;因此需要把数据从多个表里导出来、联合起来,找出分析所需要的数据项

    2023年04月09日
    浏览(63)
  • 分布式计算中的大数据处理:Hadoop与Spark的性能优化

    大数据处理是现代计算机科学的一个重要领域,它涉及到处理海量数据的技术和方法。随着互联网的发展,数据的规模不断增长,传统的计算方法已经无法满足需求。因此,分布式计算技术逐渐成为了主流。 Hadoop和Spark是目前最为流行的分布式计算框架之一,它们都提供了高

    2024年01月23日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包