hadoop分布式计算组件

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

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

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

分布式计算常见的2种工作模式
  1. 分散->汇总(MapReduce就是这种模式)
  2. 中心调度->步骤执行(大数据体系的Spark、Flink等是这种模式)

hadoop分布式计算框架-MapReduce

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

MapReduce提供了2个编程接口:

·Map

·Reduce

其中

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

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

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

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

目前map reduce框架代码开发已经逐渐淘汰,但由于hive分布式sql框架底层是map reduce实现的,所以map reduce仍活跃在一线。

MapReduce是基于YARN运行的,99%场景下map reduce都是集成在yarn集群中运行的

YARN的资源调度

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

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

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

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

假设,有一个MapReduce程序,分解了3个Map任务,和1个Reduce任务,每个map任务需要2GB运行内存,每个reduce任务需要4GB运行内存,那么如何在YARN的监管(管理)下运行呢?

map程序和reduce程序会告诉yarn所需的资源情况,向yarn申请资源,yarn则会根据资源情况,分配具体的任务运行

YARN的核心架构

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

·主(Master)角色:ResourceManager

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

·从(Slave)角色:NodeManager

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

如上图,某个程序告知yarn我需要的资源情况,yarn的resource manager查看资源情况,并通知到node manager,node manager会通过容器技术,创建容器来占用对应的资源,然后再分配具体的程序来运行。yarn能抢占资源及精准分配资源是通过容器技术实现的。

YARN辅助角色

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

·ResourceManager:集群资源总管家

·NodeManager:单机资源管家

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

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

。历史服务器(obHistoryServer):应用程序历史信息记录服务

Web应用代理(Web Application Proxy)

代理服务器,即W2b应用代理是YARN的一部分。默认情况下,它将作为资源管理器(RM)的一部分运行,但是可以配置为在独立模式下运行。使用代理的原

因是为了减少通过YARN进行基于网络的攻击的可能性。

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

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

  • 警告用户正在访问一个不受信任的站点
  • 剥离用户访问的Cookie等

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

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

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

2.并通过命令启动它即可$HADOOP_YARN_HOME/sbin/yarn-daemon.sh start proxyserver

JobHistoryServer历史服务器

历史服务器的功能很简单:记录历史运行的程序的信息以及产生的日志并提供WEBU站点供用户使用浏览器查看。它可以收集各个服务器的日志数据并统一汇总到hdfs上,方便用户查看

开启历史服务器需要配置:

  1. 开启日志聚合,允许从容器中抓取日志到hdfs中集中存储

  2. 配置历史服务器端口和主机

相关推荐
啊吧怪不啊吧7 分钟前
从数据到智能体大模型——cozeAI大模型开发(第二篇)
大数据·ai·语言模型·ai编程
hh.h.10 分钟前
Flutter与鸿蒙实现分布式设备搜索(含类型识别与在线状态标注)
分布式·flutter·harmonyos
晓源よ13 分钟前
Vxlan集中式分布式网关详解与实验
分布式
Haooog14 分钟前
Elasticsearch (ES) 面试题清单(不定时更新)
大数据·elasticsearch·搜索引擎·面试
编织幻境的妖18 分钟前
Hadoop核心组件及其作用概述
大数据·hadoop·分布式
20 分钟前
TIDB——TIDB Server
数据库·分布式·tidb
emfuture20 分钟前
传统劳动密集型加工厂,面对日益普及的自动化技术,应如何实现转型升级?
大数据·人工智能·智能制造·工业互联网
云老大TG:@yunlaoda36025 分钟前
腾讯云国际站代理商 ACE有什么优势呢?
大数据·云计算·腾讯云
驾驭人生2 小时前
RabbitMQ 封装,基于原生 RabbitMQ.Client 实现
分布式·rabbitmq
百胜软件@百胜软件2 小时前
重塑零售未来:百胜智能中台+胜券AI,赋能品牌零售撬动3100亿增量市场
大数据·人工智能·零售