大数据技术之Hadoop:MapReduce与Yarn概述(六)

news2024/11/15 21:26:04

目录

一、分布式计算

二、分布式资源调度

2.1 什么是分布式资源调度

2.2 yarn的架构

2.2.1 核心架构

2.2.2 辅助架构


前面我们提到了Hadoop的三大核心功能:分布式存储、分布式计算和资源调度,分别由Hadoop的三大核心组件可以担任。

即HDFS是分布式存储组件,MapReduce是分布式计算组件,Yarn则是资源调度组件。

本章我们就分布式计算和资源调度进行简单讲解。

一、分布式计算

那么什么是分布式计算呢?

以前我们开发过程中,要进行计算通常都是在一台电脑上完成的。这从某种意义上说,计算的数据量不算特别大。单台机器能够胜任。

但是假如现在有一个1PB的数据需要进行计算,那么单台机器能完成吗?先不说存储的事情,就算能完成,拿现在最强性能的cpu,那也要计算到猴年马月了。

所以单台不够,我们就多台机器同时计算,这就衍生出了分布式计算。

分布式计算的两种模式

分散汇总模式

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

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

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

中心调度->步骤执行模式

中心调度、步骤执行模式 

1. 由一个节点作为中心调度管理者

2. 将任务划分为几个具体步骤

3. 管理者安排每个机器执行任务

4. 最终得到结果数据

中心调度->步骤执行模式

MapReduce

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

MapReduce提供了2个编程接口:Map和Reduce

Map功能接口提供了分散的功能, 由服务器分布式对数据进行处理

Reduce功能接口提供了汇总(聚合)的功能,将分布式的处理结果汇总统计

用户如需使用MapReduce框架完成自定义需求的程序开发。只需要使用JavaPython等编程语言,实现Map Reduce功能接口即可。

注:MapReduce尽管可以通过JavaPython等语言进行程序开发,但当下年代基本没人会写它的代码了,因为太过时了。   尽管MapReduce很老了,但现在仍旧活跃在一线,主要是Apache Hive框架非常火,而Hive底层就是使用的MapReduce 所以对于MapReduce的代码开发,课程会简单扩展一下,但不会深入讲解,对MapReduce的底层原理会放在Hive之后,基于Hive做深入分析。

MapReduce的运行机制:

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

二、分布式资源调度

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

这里“无法”是加了引号的,这是因为绝大多数的场景都是通过yarn运行MapReduce任务的,不是说没有yarn完全不行,而是非常不方便。离开了它需要我们自行管理资源,自行管理就显得麻烦了。所以95%以上的用户都会选择使用YARN运行MapReduce任务。

2.1 什么是分布式资源调度

那么Yarn作为分布式资源调度组件,它具体有啥作用呢?换句话说什么是资源调度? 我们为什么需要资源调度?

服务器会运行多个程序, 每个程序对资源(CPU内存等)的使用都不同

程序没有节省的概念,有多少就会用多少。

所以,为了提高资源利用率,进行调度就非常有必要了。

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

这就像:全部资源都是公司(YARN)的,由公司分配给个人(具体的程序)去使用。比如,一个具体的MapReduce程序。 我们知道, MapReduce程序会将任务分解为若干个Map任务和Reduce任务。假设,有一个MapReduce程序, 分解了3Map任务,和1Reduce任务,那么如何在YARN的监管(管理)下运行呢?

我们直接看下面的动图:

2.2 yarn的架构

yarn分为核心架构和辅助架构

2.2.1 核心架构

类比于HDFS:

HDFS, 主从架构,有2个角色

  • 主(Master)角色:NameNode
  • 从(Slave角色 DataNode

YARN,主从架构,有2个角色 

  • 主(Master)角色:ResourceManager
  • 从(Slave) 角色NodeManager

ResourceManager整个集群的资源调度者 负责协调调度各个程序所需的资源

NodeManager单个服务器的资源调度者负责调度单个服务器上的资源提供给应用程序使用

如何实现服务器上精准分配如下的硬件资源呢?

答:开辟的空间,称之为:容器

2.2.2 辅助架构

Yarn的架构中处理核心角色,ResourceManager和NodeManager外,还可以搭配2个辅助角色使得YARN集群运行更加稳定。

代理服务器(ProxyServer)Web Application Proxy Web应用程序代理

历史服务器(JobHistoryServer) 应用程序历史信息记录服务

代理服务器

代理服务器,即Web应用代理是 YARN 的一部分。默认情况下,它将作为资源管理器(RM)的一部分运行,但是可以配置为在独立模式下运行。使用代理的原因是为了减少通过 YARN 进行基于网络的攻击的可能性。

这是因为, YARN在运行时会提供一个WEB UI站点(同HDFSWEB UI站点一样)可供用户在浏览器内查看YARN的运行信息。

对外提供WEB 站点会有安全性问题, 而代理服务器的功能就是最大限度保障对WEB UI的访问是安全的。

比如:

  • 警告用户正在访问一个不受信任的站点
  • 剥离用户访问的Cookie
  • 开启代理服务器,可以提高YARN在开放网络中的安全性 (但不是绝对安全只能是辅助提高一些)

代理服务器默认集成在了ResourceManager

也可以将其分离出来单独启动,如果要分离代理服务器

1. yarn-site.xml中配置 yarn.web-proxy.address 参数即可 (部署环节会使用到)

2. 并通过命令启动它即可 $HADOOP_YARN_HOME/sbin/yarn-daemon.sh start proxyserver(部署环节会使用到)

历史服务器

历史服务器的功能很简单: 记录历史运行的程序的信息以及产生的日志提供WEB UI站点供用户使用浏览器查看

程序看日志不是日常操作吗? 为何需要一个单独的历史服务器?

回答这个问题要从YARN的运行机制说起。

具体如何使用,我们将在下一章节(yarn部署)讲解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/987907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebStorm2023新版设置多个窗口,支持同时显示多个项目工程

调整设置 Appearance & Behavior -> System Settings> Project open project in New window:

记录mac虚拟机安装centos7

一. 安装VMWare Fusion(略) 二. 寻找arm64架构mac能拉起来的centos7镜像(略) 参考 https://cloud.tencent.com/developer/article/2150583?areaSource106000.2&traceIdkybnG2SKASN5GqSBiSmu9 三. 从origin镜像安装后开始记…

想要获得更多的好评吗?电子商务人不可错过的文章

电子商务评论可以飙升销售额并改善您与客户的关系。积极的客户反馈是任何电子商务成功故事的关键。高客户满意度保证了回头客和新买家,这将使您的公司保持活力。推荐使用SaleSmartly(SS客服)这一客户服务平台,给您的客户带来更好的…

Geoserver发布shp、tiff、瓦片等格式的GIS数据

这里写目录标题 1 发布shp矢量数据1.1 添加shp作为数据源1.2 发布shp图层1.3 预览服务1.4 配置样式 2 发布Postgres数据库2.2 发布数据 3 发布 tif 栅格数据3.1 添加 tif 数据源3.2 发布tif数据3.3 预览服务3.4 配置地图样式 关于中文标注乱码的问题 1 发布shp矢量数据 发布sh…

归并排序和快速排序的两种实现

在此之前我们已经介绍过归并排序和快速排序:浅谈归并排序与快速排序,但其中的实现都是基于递归的。本文将重新温故这两种算法并给出基于迭代的实现。 目录 1. 归并排序1.1 基于递归1.2 基于迭代 2. 快速排序2.1 基于递归2.2 基于迭代 1. 归并排序 1.1 基…

github网站打不开,hosts文件配置

首先获取github官网的ip地址, 打开cmd,输入ping github.com 配置: #github 140.82.114.4 github.com 199.232.69.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199…

RT7625E两级电液伺服阀放大器

RT6215M、RT6225M、RT7625M、RT7625E、RTJ01、RT7325M双喷挡式两级电液伺服阀适合对位置、力和速度进行闭环控制,分体式比例放大器,无摩擦双喷嘴-挡板控制级,动态响应高,高分辨率,低滞环,干式力矩马达的二级…

windows10使用wheel安装tensorflow2.13.0/2.10.0

安装过程 安装虚拟环境安装virtualenv安装满足要求的python版本使用virtualenv创建指定python版本的虚拟环境 安装tensorflow2.13.0安装tensorflow-docs直接下载使用wheel下载 在VSCode编辑器中使用虚拟环境下的包 安装虚拟环境 这里笔者使用的是 virtualenv进行虚拟环境搭建的…

【linux基础(1)】

目录 一.linux的特殊结构二.命令简介及其格式三.ls命令四.cd和pwd命令简介1.cd命令2.pwd命令3.小结 五.绝对路径和相对路径六.特殊路径符 一.linux的特殊结构 linux的目录结构是一个树形结构 windows系统可以拥有多个盘符,如c盘,D盘,E盘 lin…

【C++】C++动态内存管理

🏳️‍🌈C/C内存分布 说明: 1.我们的代码并非放在代码段里的,而是以文件的形式存在磁盘上的。 代码经过编译链接形成的二进制指令,才是放进代码段里的。(即可执行代码) 2.“abcd”如果没有被c…

Ubuntu系统重装nvidia gpu驱动

1. 卸载原驱动 sudo apt remove *cuda* sudo apt remove *nvidia* sudo /usr/bin/nvidia-uninstall sudo dpkg -l | grep ^rc | cut -d -f3 | sudo xargs dpkg --purge sudo rm -rf ~/.cuda-license-* sudo apt purge nvidia-cuda-toolkit sudo apt remove nvidia-driver-* s…

无涯教程-JavaScript - IMABS函数

描述 IMABS函数以x yi或x yj文本格式返回复数的绝对值(模)。 Excel中的复数 复数简单地以文本形式存储在Excel中。 当将格式为" a bi"或" a bj"的文本字符串提供给Excel的内置复数函数之一时,这被解释为复数。 复数函数可以接受简单数值,因为它等效…

【面试心得】系统调用

这个问题也是在九识面试的时候被问到的,当时我说就是像Shell,从用户态转移到内核态的过程,面试官让我说的详细一点,我就说不出来了,然后我就说了一些函数调用的过程,hhhh。 现在在这里做一个记录吧。 本文…

已经2023年了,你还不会手撕轮播图?

目录 一、前言二、动画基础1. 定时器2. left与offsetLeft3. 封装函数3.1 物体3.2 目标点3.3 回调函数 4.封装 三、基础结构3.1 焦点图3.2 按钮3.3 小圆点3.4 总结 四、按钮显示五、圆点5.1 生成5.2 属性5.3 移动 六、按钮6.1 准备6.2 出错6.2.1 小圆点跟随6.2.2 图片返回 6.3 b…

【 OpenGauss源码学习 —— 列存储(analyze)(四)】

列存储(analyze) AcquireSampleCStoreRows 函数es_get_attnums_to_analyze 函数CStoreRelGetCUNumByNow 函数CStore::GetLivedRowNumbers 函数InitGetValFunc 函数CStoreGetfstColIdx 函数CStore::GetCUDesc 函数CStore::IsTheWholeCuDeleted 函数CStore…

学习Bootstrap 5的第七天

目录 徽章 徽章 实例 上下文徽章 实例 胶囊徽章 实例 元素内的徽章 实例 进度条 基础进度条 实例 进度条高度 实例 彩色进度条 实例 条纹进度条 实例 动画进度条 实例 混合色彩进度条 实例 徽章 徽章 在 Bootstrap 中,徽章(Badg…

【动手学深度学习】--文本预处理

文章目录 文本预处理1.读取数据集2.词元化3.词表4.整合所有功能 文本预处理 学习视频:文本预处理【动手学深度学习v2】 官方笔记:文本预处理 对于序列数据处理问题,在【序列模型】中评估了所需的统计工具和预测时面临的挑战,这…

2023年8月| 红帽RHCE考试战报-微思红帽官方授权培训中心

2023.8.15 新出炉一波红帽考试战报 恭喜微思10位学员顺利PASS红帽认证考试 通过RHCE认证 不仅从专业技术上证明了你的能力 在职场上更是一块进入Linux行业的“敲门砖” 让你在职场竞争中更具竞争力 微思红帽官方授权培训中心--全国直播,就近安排考试&#xff…

【技巧】安装 win11 必须联网?无法跳过?

安装 Win11 时自动检查更新或者让连接网络,没有提供取消按钮,之前有【我没有 Internet 连接】选项。 在这个界面按 ShiftF10 打开命令提示符 输入OOBE\BYPASSNRO 按回车。 回车之后之后系统会重新启动,此时发现下一步的左侧出现了熟悉的【我…

Matlab论文插图绘制模板第112期—带阴影标记的图

之前的文章中,分享了Matlab带线标记的图: 进一步,本期分享的是带阴影标记的图。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号…