tez作业运行慢

文章目录

  • 问题现象:
  • 排查思路
    • 查看task运行概况
    • 查看map和reduce container的日志
    • 初步结论
  • 继续排查
    • container数量差异大
    • 分片计算异常
  • 结论

问题现象:

每天调度的一个任务在某天突然运行时长多了好几倍,平时30m左右,那天运行了4个小时多
在这里插入图片描述

排查思路

  • 1.查看hiveserver侧
    检查query提交、编译及执行的时间,是否有卡点:如由于锁导致的等待导致的执行等待长

  • 2.查看yarn侧及作业日志
    查看hiveserver2侧提交tez session一切正常,此时需获取applicationId来查看作业日志
    作业日志首先查看am日志,检查container的分配情况是否正常,有没有因资源堵塞导致的延迟、以及container的运行失败重调度情况等

上述查看正常

查看task运行概况

搜索关键字TASK_FINISHED
发现某个map task的运行时间是其他map task的三倍(这里00是map task、01是reduce task)
在这里插入图片描述

查看map和reduce container的日志

接着查看这个task_1676535507899_2801404_1_00_000013的日志
这里task会变为attempt,后面添加0代表这个第一次运行
在这里插入图片描述
通过map container的日志发现问题:
1.通过Processing split查看这个map task要读取的文件(业务原因,小文件)特别多
同时查看reduce container的日志:
很明显 是上面map task长尾了 导致reduce task一直等待拉取map的输出导致的
在这里插入图片描述

初步结论

后面对比了map task的输入文件,这个container接收的明显要多,导致map task长尾,拖慢整个作业的运行时长。(这两次作业的输入文件数和数据量是差不多的)

从现在看tez的分片机制有问题?

继续排查

container数量差异大

对比这个作业两天运行的app日志,发现以下情况:分配的container数量,有问题的作业明显要少几十倍

获知这个情况后,查看am日志发现:

分片计算异常

  • 问题作业
    在tez计算map task的数量时,available slots的数量为0,这里YarnTaskSchedulerService日志一直打印获取的集群可用资源为0
    在这里插入图片描述
    但是通过监控查看当时集群仍有很多的可用资源,从后续的日志看,1分多钟后也获取到了正常的资源情况,但此时task数量已经计算完了并提交请求了
    在这里插入图片描述

  • 正常作业
    计算map task的数量时,获取的集群资源是正常的(6516736/1591 正正好是4096M
    在这里插入图片描述在这里插入图片描述

结论

是由于一直获取不到集群资源导致,计算的container过少,某个map task处理的数据过多而长尾拖慢整个作业的运行时长。这里tez与RM通信,有以下几点怀疑:
1.网络层面:am运行的节点与RM之间网络波动
2.服务层面:RM当时无法正常响应、可能是由于gc pause等原因
3.资源层面:可能是队列资源满了或队列的父队列资源满了

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面试高频题】难度 1/5,经典树的搜索(多语言)

题目描述 这是 LeetCode 上的 「109. 有序链表转换二叉搜索树」 ,难度为 「中等」 Tag : 「二叉树」、「树的搜索」、「分治」、「中序遍历」 给定一个单链表的头节点 head,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。 本题中&…

uni-app开发微信小程序的报错[渲染层错误]排查及解决

一、报错信息 [渲染层错误] Framework nner error (expect FLOW INITIALCREATION end but get FLOW CREATE-NODE) 二、原因分析及解决方案 第一种 原因:基础库版本的原因导致的。 解决: 1.修改调试基础库版本 2.详情—>本地设置—>调试基础库…

ChatGPT或将引发现代知识体系转变

作为当下大语言模型的典型代表,ChatGPT对人类学习方式和教育发展所产生的变革效应已然引起了广泛关注。技术的快速发展在某种程度上正在“倒逼”教育领域开启更深层次的变革。在此背景下,教育从业者势必要学会准确识变、科学应变、主动求变、以变应变&am…

jetty嵌入式开发及spring整合quartz(内存模式)

1 依赖jar包 2 jetty嵌入式开发 2.1 jetty服务启动类 package com.primal.server;import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler;…

将人工智能应用于 API 安全

如今,在安全行业中,几乎每个地方都会提到人工智能 (AI) 的话题。确实,人工智能是一个热门话题。像许多热门话题一样,围绕它有相当多的嗡嗡声和炒作。突然间,你遇到的每个人似乎都在大力利用人工智能。 正如你可以想象…

使用【Blob、Base64】两种方式显示【文本、图片、视频】 使用 video 组件播放视频

Blob 显示 Blob 对象的类型是由 MIME 类型(Multipurpose Internet Mail Extensions)来确定的。MIME 类型是一种标准,用于表示文档、图像、音频、视频等多媒体文件的类型。以下是一些常见的 Blob 对象类型: text/plain&#xff1…

LLM应用架构 LLM application architectures

在本课程的最后一部分,您将探讨构建基于LLM的应用程序的一些额外考虑因素。首先,让我们把迄今为止在本课程中所见的一切汇总起来,看看创建LLM驱动应用程序的基本组成部分。您需要几个关键组件来创建端到端的应用程序解决方案,从基…

时代风口中的Web3.0基建平台,重新定义Web3.0!

近年来,Web3.0概念的广泛兴起,给加密行业带来了崭新的叙事方式,同时也为加密行业提供了更加具有想象力的应用场景与商业空间,并让越来越多的行业从业者们意识到只有更大众化的市场共性需求才能推动加密市场的持续繁荣。当前围绕这…

idea 启动出现 Failed to create JVM JVM Path

错误 idea 启动出现如下图情况 Error launching IDEA If you already a 64-bit JDK installed, define a JAVA_HOME variable in Computer > System Properties> System Settings > Environment Vanables. Failed to create JVM. JVM Path: D:\Program Files\JetB…

智慧空开让用电更安全、管理更智能——电脑APP远程控制开合闸

安科瑞 崔丽洁 01 什么是低压断路器?低压断路器的定义是:能够接通、承载及分断正常电路条件下的电流,也能在规定的非正常电路条件(过载、短路、特别是短路)下接通、承载一定时间和分断电流的开关电器。 断路器的分类&…

SwinTransformer学习记录(一)之整体架构

SwinTransformer自问世以来,凭借其优秀的性能,受到无数研究者的青睐,因此作为一个通用的骨干网络,其再目标检测,语义分割,去噪等领域大杀四方,可谓是风光无限,今天,我们便…

高级深入--day30

Scrapy Shell Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据。 如果安装了 IPython ,Scrapy终端将使用 IPython (替代标准Python终端)。 IPython 终端与其…