大数据学习~Hadoop初识三Yarn模式

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 我们都知道在如今的Hadoop中主要有三个重要的执行管理器。一个HDFS,一个MapReduce,还有就是我们今天要看的 YARN。 2.0以前的Hadoop 在2.0以前的hadoop中是没有Yarn这个模式管理的。

我们都知道在如今的Hadoop中主要有三个重要的执行管理器。一个HDFS,一个MapReduce,还有就是我们今天要看的 YARN。

2.0以前的Hadoop

在2.0以前的hadoop中是没有Yarn这个模式管理的。大部分都是独自作战。Hbase做自己的,Spark也是做自己的,等等。这样的话就会造成资源的浪费,不能充分的把资源给利用上。特别是在1.x的版本上容易出现单点故障,不容易扩展的情况。

image

在这里Client的请求都会通过1个JobTracker来分发任务,如果我们的这个JobTracker出现异常。整个集群就没法参与正常工作。

在JobTracker 过多的TaskScheduler 集中过来,容易造成内存,cpu不够用的情况。增加了任务执行失败的风险。
image

因为这些情况,随着发展,Hadoop需要更新的一代管理引擎来帮助我们管理集群-YARN引擎

在2.0的YARN

在新的业务驱动下,发展起来的YARN替代原先的模式。将原先浪费的资源进行合并,共同管理建立在一个模式管理下
image

新的YARN模式如下

image

  1. 从图中我们可以看到 原先的JobTracker 被拆分成 资源管理和任务调度监控。
  2. 我们来看下如今的架构

ResourceManager : 在集群中提供资源的统一管理和调度。并且接收来自客户端的请求。同时不停的接收来自 DataNode上的心跳信息。并且对集群进行管理。

NodeManager :

在整个集群中会有多个该节点。主要用来维护自己节点上资源的管理和使用。

定时向ResourceManager 汇报自己资源的使用情况。并且 接收来自ResourceManager 各种命令

启动我们在图中看到的ApplicationMaster.

ApplicationMaster :

该ApplicationMaster 对应我们提交的程序,该程序可以来自Spark,Hbase , MapReduce.该master向管理器YARN申请资源。然后供应用程序使用。

分配任务给接下来的Container 。包含启动,停止任务。

Container

封装了CPU ,Memory 等资源的容器。

Client

通过client来提交任务,进行任务的开始与结束。并且查询任务的执行进度等情况。

image

了解了这几个功能名称的作用,我们来看下整个任务执行流程是怎么样的。

从Client端发送一个 请求到我们的ResourceManager 上。其中内容应该包含ApplicationMaster,ApplicationMaster的启动命令。本身应用程序的内容。

ResourceManager 分配任务到NodeManager上

NodeManager根据配置信息进行处理启动ApplicationMaster 。

注册到ResourceManager,并且申请到资源返回到我们的ApplicationMaster 上。

根据申请到的资源注册到NodeManger上。

NodeManager 启动对应的Container上。在这之间会通过心跳进行任务汇报。然后任务汇报后。进行任务管理。

总结

整个yarn的流程和新的结构大概就是如此。新模式解决了原先的单点问题。并且挺高了高可用性和扩展性。一套集群环境就能供多个应用程序使用。YARN模式帮助我们解决掉了资源管理的问题,程序员关注业务开发即可。

原文发布时间为:2018-06-22
本文作者:mengrui LuckQI
本文来自云栖社区合作伙伴“LuckQI”,了解相关信息可以关注“LuckQI”。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
4月前
|
数据采集 搜索推荐 算法
Java 大视界 -- Java 大数据在智能教育学习社区用户互动分析与社区活跃度提升中的应用(274)
本文系统阐述 Java 大数据技术在智能教育学习社区中的深度应用,涵盖数据采集架构、核心分析算法、活跃度提升策略及前沿技术探索,为教育数字化转型提供完整技术解决方案。
|
7月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
292 79
|
10月前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
417 4
|
11月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
452 2
|
11月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
400 1
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
487 3
YARN(Hadoop操作系统)的架构
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
378 1
使用YARN命令管理Hadoop作业
|
资源调度 分布式计算 算法
【揭秘Yarn调度秘籍】打破资源分配的枷锁,Hadoop Yarn权重调度全攻略!
【8月更文挑战第24天】在大数据处理领域,Hadoop Yarn 是一种关键的作业调度与集群资源管理工具。它支持多种调度器以适应不同需求,默认采用FIFO调度器,但可通过引入基于权重的调度算法来提高资源利用率。该算法根据作业或用户的权重值决定资源分配比例,权重高的可获得更多计算资源,特别适合多用户共享环境。管理员需在Yarn配置文件中启用特定调度器(如CapacityScheduler),并通过设置队列权重来实现资源的动态调整。合理配置权重有助于避免资源浪费,确保集群高效运行,满足不同用户需求。
201 3
|
资源调度 分布式计算 Hadoop
Hadoop Yarn 核心调优参数
这是一个关于测试集群环境的配置说明,包括3台服务器(master, slave1, slave2)运行CentOS 7.5,每台有4核CPU和4GB内存。集群使用Hadoop 3.1.3,JDK1.8。Yarn核心配置涉及调度器选择、ResourceManager线程数、节点检测、逻辑处理器使用、核心转换乘数、NodeManager内存和CPU设置,以及容器的内存和CPU限制。配置完成后,需要重启Hadoop并检查yarn配置。
341 4
|
SQL 分布式计算 资源调度
Hadoop Yarn 配置多队列的容量调度器
配置Hadoop多队列容量调度器,编辑`capacity-scheduler.xml`,新增`hive`队列,`default`队列占总内存40%,最大60%;`hive`队列占60%,最大80%。配置包括队列容量、用户权限和应用生存时间等,配置后使用`yarn rmadmin -refreshQueues`刷新队列,无需重启集群。多队列配置可在Yarn WEB界面查看。
249 4