spark运行正常,某一个Stage卡住,停止不前异常分析
- 异常说明
spark提交任务后,前N个Stage运行顺利,到达某一个Stage后,卡住,通过spark界面可以看到,executor运行正常,卡住的Stage的task已经分配至executor,但duration time一直增加,task却不结束,同时log中也无异常报出。
- 解决方案
1,分析没有异常说明程序本身没有问题,框架运行也运行正常,很有可能是因为该stage操作较为复杂,将CPU打满。
2,通过spark监控界面找到task被分配到的机器,并登陆,通过jps -ml 打印出具体的java进程和main class信息(具体java命令行工具见java下文档)
3,得到pid之后,使用top -p 观察该process,发现确实CPU占用非常高,说明某项操作将CPU占满,此时task并未失败,而是一直在进行
4,通过top -Hp {pid}将该进程内部线程信息打印,获得哪条线程占用CPU高
5,通过jstack {pid} 将进程堆栈打印,并将上一轮操作中获取的线程号在jstack文件中查询,定位线程(获取的线程号为十进制,需将获取的线程id转换为十六进制,再进行对照)
上步完成之后,对照代码,即可
- 具体问题具体分析
上述只是问题可能解决方案的一种,也有可能是其他原因造成task等待,task执行卡住,暂时能想到的可能的原因就是操作过于复杂将CPU打满,或者等某种IO资源(网络或者磁盘都有可能)
转:https://wx.zsxq.com/dweb/#/index/142881841542
spark运行正常,某一个Stage卡住,停止不前异常分析相关推荐
- spark启动的worker节点是localhost_Spark大数据在线培训:Spark运行原理解析
在大数据技术框架当中,Spark是继Hadoop之后的又一代表性框架,也是学习大数据当中必学的重点技术框架.在这些年的发展当中,Spark所占据的市场地位,也在不断拓展.今天的Spark大数据在线培训 ...
- Spark 的核心 RDD 以及 Stage 划分细节,运行模式总结
精选30+云产品,助力企业轻松上云!>>> 阅读文本大概需要 5 分钟. 以下内容,部分参考网络资料,也有自己的理解, 图片 99% 为自己制作.如有错误,欢迎留言指出,一起交流. ...
- Spark任务的某个Stage卡住不动问题
有时候Spark任务莫名会在某个Stage卡住,然后一直停在那里,如果任务重新跑的话又是没有问题的,在实际项目中如果这样的任务出现了,需要仔细分析Spark的log,这样的情况一般是数据不均衡导致的某 ...
- 理解spark中的job、stage、task
什么是Spark? Spark是处理大数据常用的计算引擎.Spark是一个用来实现快速而通用的集群计算的平台.扩展了广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和 ...
- Spark的stage划分算法源码分析
Spark Application中可以有不同的Action触发多个Job,也就是说一个Application中可以有很多的Job,每个Job是由一个或者多个Stage构成的,后面的Stage依赖于前 ...
- Spark 运行机制
1. Spark运行基本流程 构建Spark Application的运行环境(启动SparkContext),SparkContext向资源管理器(可以是Standalone.Mesos或YARN) ...
- spark-submit提交参数说明以及与yarn-site.xml中参数的相互约束关系+spark运行架构图解(持续更新中)
因为大型公司都有使用spark/hadoop的官方配置,不太需要个人工程师关心, 这个博客用来给予自己搭建或者小公司使用集群时使用 先复习下yarn-site.xml中几个参数的含义[3]: 配置文件 ...
- Spark运行原理剖析
http://ihoge.cn/2018/Spark%20Scheduler.html Apache Spark是一个开源的,强大的分布式查询和处理引擎.它提供MapReduce的灵活性和可扩展性,但 ...
- Spark入门实战系列--4.Spark运行架构
注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1. Spark运行架构 1.1 术语定义 lApplication:Spark Applic ...
最新文章
- 有效地使用计算机操作系统的教学设计与反思,《操作系统的基础知识(1)》教学设计及反思...
- 【工具】云文档办公利器!腾讯文档好评!
- 【GAN模型结构】从最简单的全卷积GAN一起开始玩转GAN
- ABAP动态取得数据的方法
- 静态配置_Linux网络配置之NAT静态ip配置
- PyTorch 加载超大 Libsvm 格式数据
- linux系统oracle启动过程,Linux主机下配置Oracle 10G自动启动过程记
- Bailian2693 最远距离【序列处理】
- Ice_cream’s world III(prime)
- Nginx中安装免费SSL证书开启Https请求
- HiveQL整理总结
- Python的面向对象、模块和包
- php身份证识别ORC
- Keil 5(MDK 5)中的 Pack Installer下载不了库文件包的解决替代方法(在Keil官网下载Packs库文件)
- CSS 选择器(超级详细,欢迎补充)
- 拍摄UFP 单一职责原则
- 蚂蚁金服开源-SofaRpc源码学习篇
- UE5 官方案例Lyra 全特性详解 14.背包系统Inventory System3
- 【分享】QT读取EXCEL文件(附代码)
- Android中 自定义logo二维码绘制(仿微信QQ二维码)
热门文章
- 注册消防工程师3D交互学习系统
- 站长号词库:今日热门长尾关键词挖掘 20221127
- 解决pyinstaller打包涉及uiautomation截图时出现的dll找不到的错误
- 沁园春.雪输出诗句代码
- 图书馆借阅管理系统 springboot开发的java项目源码
- SteamVR在HDRP或URP中手柄控制器材质如何显示正常?
- 在线考试模拟系统都有哪些功能,和优点呢?
- 防止被反编译获取源码,PB加密,PBD加密,杜绝PB程序反编译 下载
- KubeSphere 开源社区 2022 年度回顾与致谢
- QT从零开始作单片机上位机-串口调试助手+波形显示-实现串口模块的配置(2)