随笔分类 - Hadoop Yarn
摘要:背景 (1)问题背景 线上集群 Container 日志上报的事务集群 namenode rpc 持续飙高,影响到了 Yarn 分配 Container 的性能,任务提交数下降,导致整个集群的吞吐量下降。 (2)原因简介 作业提交到 Yarn 集群时,每个 NM 节点都会对每个 app 作业进行日志
阅读全文
摘要:问题背景 线上集群出现过几次 Yarn RM 写 ZK ZNode 的数据量超过 ZNode 限制,导致 RM 服务均进入 Standby 状态,用户无法正常提交任务,整个集群 hang 住,后续排查发现主要是异常任务写 ZNode 数据量太大,超过 ZNode 限制,导致集群其他提交作业的状态信息
阅读全文
摘要:在 《ApplicationMaster启动及资源申请源码分析》中,AM 向 RM 注册后,会周期性地通过 RPC 函数 ApplicationMaster#allocate() 与 RM 通信,通信目的包括请求资源、获取新分配的资源及形成周期性心跳,本文中我们重点看看 AM 向 RM 申请到 Co
阅读全文
摘要:NodeManager(NM)是 Yarn 中单个节点上的代理,它管理 Hadoop 集群中单个计算节点,功能包括与 ResourceManager 保持通信、管理 Container 的生命周期、监控每个 Container 的资源使用情况、追踪节点健康状况、管理日志和不同应用程序用到的附属服务(
阅读全文
摘要:本文主要介绍 ApplicationMaster 的运行流程,并从 ApplicationMaster 的启动、注册/心跳、Container 资源申请与分配三个角度分析相关源码。其中花了大量篇幅介绍 ApplicationMaster 的启动过程,包括任务提交流程、App/Attempt 转换过程
阅读全文
摘要:一、Yarn 资源调度方式 资源调度方式确定了当任务提交到集群,如何为其分配资源执行任务。在 FairScheduler 中提供了两种资源调度方式:心跳调度和连续调度。 心跳调度方式:NodeManager 向 ResourceManager 汇报了自身资源情况(比如,当前可用资源,正在使用的资源,
阅读全文
摘要:一、Yarn 架构 1.1 基本概念 Yarn 采用传统的 master-slave 架构模式,其主要由 4 种组件组成,它们的主要功能如下: ResourceManager(RM):全局资源管理器,负责整个系统的资源管理和分配; 处理客户端请求 启动/监控ApplicationMaster 监控N
阅读全文
摘要:我们在测试环境部署了一套 sls 模拟环境,当集群规模达到 10k 台 NM 节点时,会出现两个异常现象: Yarn UI 页面显示的 NM 数量达不到 10k 规模; 客户端提交的 APP 一直处于 Accept 状态,无法分配资源。 先直接说结论,具体原因在后面分析。这个问题的解决,其实归结到一
阅读全文
摘要:运行Hadoop SLS原生环境时遇到的一些问题,记录下踩过的坑,方便后续朋友参考。 异常一:ERROR: output job file is existing 异常信息: # ./rumen2sls.sh --rumen-file=/opt/cloudera/parcels/CDH/share/
阅读全文
摘要:一、调度压力模拟器介绍 最近在调研Yarn调度性能问题,考虑到线上集群规模已达到5k+台,在线上环境实验是不太可行的,因此必须在线上有一套环境来验证调度器的性能,才能把有效的优化策略推广到线上环境。在线下环境搭建一套和线上规模相同的集群是不太合理的,需要耗费大量物理资源,成本耗费非常高。因此,需要有
阅读全文
摘要:一、ResourceManager基本职能 在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationMaster)。整体上讲,Resourc
阅读全文
摘要:一、聚合日志介绍 日志聚集是YARN提供的日志中央化管理功能,它能将运行完成的Container任务日志上传到HDFS上,从而减轻NodeManager负载,且提供一个中央化存储和分析机制。默认情况下,Container 任务日志存在在各个NodeManager上,保存在"yarn.nodemana
阅读全文
摘要:一、经典MapReduce的作业运行机制 如下图是经典MapReduce作业的工作原理: 1.1 经典MapReduce作业的实体 经典MapReduce作业运行过程包含的实体: 客户端,提交MapReduce作业。 JobTracker,协调作业的运行。JobTracker是一个Java应用程序,
阅读全文

浙公网安备 33010602011771号