【Hadoop】- YARN架构[7]

前言

Yarn架构是一个用于管理和调度Hadoop集群资源的系统。它是Hadoop生态系统的一部分,主要用于解决Hadoop中的资源管理问题。

通过使用Yarn架构,Hadoop集群中的不同应用程序可以共享集群资源,并根据需要动态分配和回收资源。这种灵活的资源管理能力可以提高集群的利用率和性能。

一、核心架构

1、YARN架构

  • YARN,主从架构,有2个角色
    • 主(Master)角色:ResourceManager
    • 从(Slave)角色:NodeManager

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

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

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

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

2、容器(Container)

NodeManager预先占用这一部分资源,然后将这一部分资源提供给程序使用

  • NodeManager在服务器上构建一个容器(提前占用资源,类似集装箱的概念)
  • 然后将容器的资源提供给程序使用
  • 程序运行在容器(集装箱)内,无法突破容器的资源限制

二、辅助架构

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

1、Web应用代理(Web Application Proxy)

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

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

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

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

开启代理服务器,可以提高YARN在开放网络中的安全性(但不是绝对安全,只能是辅助提高一些)

2、JobHistoryServer历史服务器

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

每台服务器里的每个容器都有运行日志,将运行日志统一收集到HDFS,由历史服务器托管为WEB UI供用户在浏览器统一查看

JobHistoryServer历史服务器功能:

  • 提供WEB UI 站点,供用户在浏览器上查看程序日志
  • 可以保留历史数据,随时查看历史运行程序信息

web应用代理与历史服务器都需要配置,详细的配置和启动可以阅读部署YARN集群

相关推荐
芝士爱知识a3 小时前
2026高含金量写作类国际竞赛汇总与测评
大数据·人工智能·国际竞赛·写作类国际竞赛·写作类比赛推荐·cwa·国际写作比赛推荐
yongyoudayee8 小时前
2026 AI CRM选型大比拼:四大架构路线实测对比
人工智能·架构
鹧鸪云光伏8 小时前
基于支架参数一键生成光伏全套CAD图纸
大数据·信息可视化·cad·光伏·储能设计方案
AI服务老曹9 小时前
打破品牌壁垒:基于 GB28181 与 RTSP 的异构设备统一接入与流媒体架构解析
架构
独特的螺狮粉10 小时前
Flutter 框架跨平台鸿蒙开发 - 关系测试应用
flutter·华为·架构·开源·鸿蒙
黎阳之光10 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
有想法的py工程师10 小时前
PostgreSQL 分区表排序优化:Append Sort 优化为 Merge Append
大数据·数据库·postgresql
2501_9333295510 小时前
技术架构深度解析:Infoseek舆情监测系统的全链路设计与GEO时代的技术实践
开发语言·人工智能·分布式·架构
迷枫71211 小时前
达梦数据库的体系架构
数据库·oracle·架构
迷藏49411 小时前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构