1.分布式计算概述

分散->汇总模式:

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

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

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

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

• 计算:对数据进行处理,使用统计分析等手段得到需要的结果
• 分布式计算:多台服务器协同工作,共同完成一个计算任务

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

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

2.MapReduce概述

分布式计算框架 - MapReduce

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

MapReduce提供了2个编程接口:

• Map
• Reduce

其中

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

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

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

MapReduce执行原理:

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

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

MapReduce执行原理:

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

可以3台服务器执行Map,1台服务器执行Reduce

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程序

YARN的资源调度

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

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

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

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

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

1. YARN是做什么的?

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

2. 为什么需要资源调度

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

3. 程序如何在YARN内运行

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

4. MapReduce和YARN的关系

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

4. YARN架构

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

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

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

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

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

3. 什么是YARN的容器?

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

YARN辅助角色

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

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

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

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

YARN的架构有哪些角色

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

大数据4 - 分布式计算相关推荐

  1. 大数据(分布式计算框架+分布式存储)

    https://blog.csdn.net/SmartShylyBoy/article/details/82424726  解析spark和mapReduce的区别和优劣 https://blog.c ...

  2. 在家搭建大数据分布式计算环境!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale原创作者 0. 前言 分布 ...

  3. Hadoop大数据原理(3) - 分布式计算框架MapReduce

    文章目录 1. 大数据的通用计算 2 MapReduce编程模型 3. MapReduce计算框架 3.1 三类关键进程 大数据应用进程 JobTracker进程 TaskTracker进程 3.2 ...

  4. 大数据与测试测量的结合

    传统测试测量 在测试测量领域,我们传统的测试方法是一台仪器或者一套测试系统实现一个特定功能的测试,例如示波器用来测试波形,矢量网络分析仪用来分析高频信号,以及由其组成的系统来实现特定产品的检测,例如我 ...

  5. 大数据研究的若干科学问题——徐宗本

    什么是大数据? 维基百科:大数据是指无法在容许的时间内用常规的软件工具对其内容进行抓取.管理和处理的数据集合,大数据规模的标准是持续变化的,当前泛指单一数据集的大小在十几TB和PB之间. 大数据:不能 ...

  6. Google大数据三大论文

    简介:https://blog.csdn.net/w1573007/article/details/52966742 论文中英文版下载http://pan.baidu.com/s/1slUy4sl 经 ...

  7. Datawhale_大数据0期

    [Task1]创建虚拟机+熟悉linux(2day) 创建三台虚拟机 在本机使用Xshell连接虚拟机 CentOS7配置阿里云yum源和EPEL源 安装jdk 熟悉linux 常用命令 熟悉,she ...

  8. 大数据开发工程师学习路线分享

      大数据是对海量数据存储.计算.统计.分析等一系列处理手段,处理的数据量是TB级,甚至是PB或EB级的数据,是传统数据处理手段无法完成的,大数据涉及分布式计算.高并发处理.高可用处理.集群.实时性计 ...

  9. 大数据技术在CBTC列车控制系统中的应用

    随着铁路行业的快速发展,相关软件的安全性问题已经成为人们关注的重点.铁路行业发生的一些重大事故,大部分与相关系统的软件缺陷有关.而系统的缺陷会随着软件复杂度的增加呈指数级上升,这也直接提高了软件测试的 ...

最新文章

  1. c++ std::priority_queue优先队列
  2. 苹果智能音箱HomePod确定开售时间,权威人士质疑:是否太晚?
  3. CSS布局之品字布局
  4. 网站面临改版!在修改标题后该如何快速提升排名?
  5. Tomcat上具有JAX-WS的Web服务
  6. 【案例实战】餐饮企业分店财务数据分析系统解决方案:业务需求
  7. zabbix源码编译安装以及添加第一台host监控
  8. mysql 出现ERROR 2002 (HY000): ....错误通用解决方法
  9. WebM文件格式标准
  10. 图书管理系统详细设计说明
  11. 毕业设计 python opencv 机器视觉图像拼接算法
  12. sg11解密 php解密 SourceGuardian解密sg_load解密去除域名IP授权
  13. wamp php 安装redis,wamp下redis安装及配置
  14. “您未被授权查看该页,您不具备使用所提供的凭据查看该目录或页的权限” -- 解决办法
  15. How to hide the New! icon or control how long the icon is displayed.
  16. Git全解 idea github gitee gitlab
  17. webform母版页
  18. 亲爱的我把孩子放大了文案解说
  19. 没有学历怎么找运维工作?
  20. 如何破解Aspose.word带水印问题

热门文章

  1. 回乡随想:为什么内地永远不会成为沿海地区
  2. 1089 狼人杀-简单版
  3. 诚之和:年轻人追捧的自拍馆,为何迎来倒闭潮?
  4. 李国杰院士谈中国数字图书馆
  5. QBC CriteriaQuery用法
  6. 酒店计算机网络系统,计算机管理系统和网络系统在酒店经营管理中的作用?
  7. inner_product
  8. 龙书(附录A):一个完整的编译器前端(学习记录)
  9. 手游推广方面的一些想法
  10. Flink迟到数据输出到测输出流