有时候Spark任务莫名会在某个Stage卡住,然后一直停在那里,如果任务重新跑的话又是没有问题的,在实际项目中如果这样的任务出现了,需要仔细分析Spark的log,这样的情况一般是数据不均衡导致的某个节点任务量偏大,而这个节点分配不到太多内存(其他还有很多任务都在这里运行)导致任务卡顿。有几个参数非常有效,主要是Spark的任务推测执行参数,任务推测执行默认是不开启的,因为开启了是会浪费资源的,如果经常有任务卡顿,需要添加这个参数

参数名 默认值 含义
spark.speculation False 以下几个参数是关于Spark推测执行机制的相关参数。此参数设定是否使用推测执行机制,如果设置为true则spark使用推测执行机制,对于Stage中拖后腿的Task在其他节点中重新启动,并将最先完成的Task的计算结果最为最终结果
spark.speculation.interval 100 Spark多长时间进行检查task运行状态用以推测,以毫秒为单位
spark.speculation.quantile 0.75 推测启动前,Stage必须要完成总Task的百分比
spark.speculation.multiplier 1.5 比已完成Task的运行速度中位数慢多少倍才启用推测

在实际应用在,可以根据实际情况设置参数值,例如可以设置500ms检查一下状态,Stage完成0.9我们才开启推测任务,比已完成Task的运行速度中位数慢1.2倍才开启。总之,这是个非常不错的参数。

参考:https://blog.csdn.net/whgyxy/article/details/88779965

另外,也需要注意是否是spark-submit提交时参数分配的问题:
例如在standalone /yarn 模式运行的时候 client 模式正常运行,而cluster 模式卡死的问题.

spark-env.sh 里的配置 SPARK_MASTER_PORT=7077SPARK_MASTER_WEBUI_PORT=8080SPARK_WORKER_CORES=2SPARK_WORKER_MEMORY=1G      #开辟多大内存运行 workerSPARK_WORKER_PORT=7078SPARK_WORKER_WEBUI_PORT=8081SPARK_WORKER_INSTANCES=1
  spark-submit \--driver-memory:           #driver运行的内存大小,默认1024M--executor-memory          #executor 运行内存大小,默认 1024M

当使用 client模式运行的时候,master运行在本机,占用linux机器的内存;

master -------占用 虚拟机 1G 内存
Worker (1G) ------executor 1G 运行任务

当使用 master模式的时候,由于使用的是为分布模式,所以master只能运行在本机的worker上,占用 1G的内存,由于worker内存用完,当执行任务的时候executor分配不到内存,所以卡死

Worker (1G) ------ master 占用1G
----- executor 卡死

解决方法:
执行任务打时候规定 driver的内存小于等于executor的内存

spark-submit   \--master spark://cdh01:7077   \--deploy-mode cluster \--driver-memory 512m \--executor-memory 1G \/home/kequan/data/sparkdemo01.jar

Spark任务的某个Stage卡住不动问题相关推荐

  1. Ubuntu系统下载缓慢,以及更新源卡住不动(终极解决方案)

    Ubuntu系统软件和更新卡住不动(终极解决方案) 切记:不能同时打开多个虚拟机.同时打开多个虚拟机好像只有1个能上网,会导致没法联网,后续都失败 方法1:[在用,未测试过] 参考文献: https: ...

  2. uni-app之新建项目无模板选择以及点击创建后一直卡住不动

    uni-app:新建项目无模板选择以及点击创建后一直卡住不动 原因:无权限 解决方法:退出HBuilderX,然后以管理员身份启动HBuilderX.exe.解决问题

  3. 王者服务器延迟高,王者荣耀延迟高卡住不动怎么办 卡顿的解决方法汇总

    很多玩家在玩王者荣耀的恐怕都遇到过延迟变高,然后卡住不动的情况吧,小编也是如此,最近经常性卡顿,很郁闷.那么,出现这样的情况该怎么办呢?有什么好办法可以解决这个问题吗?下面小编就来告诉大家一些常见的解 ...

  4. 计算机一打开就卡在更新失败,Win10更新系统卡住不动怎么办 Win10系统更新卡住不动解决方法...

    Win10系统在推出后,微软提供了一年的免费升级服务.旗舰有不少用户选择升级使用,但是期间就有不少用户反应win10的不稳定!但是在后续的更新升级中,也变得更加安全稳定!但是还有一些用户又遇到了问题, ...

  5. vue-cli创建项目,webpack运行时在 95% emitting CompressionPlugin卡住不动

    vue-cli创建项目,webpack运行时在 95% emitting CompressionPlugin卡住不动 问题:项目中添加了CompressionPlugin(打包压缩) 解决:压缩判断下 ...

  6. 快速配置Tomcat,解决Tomcat卡住不动

    简单介绍Tomcat最近版本 Apache Tomcat项目很自豪地宣布Apache Tomcat的9.0.60版本发布.此发行版实现了作为 Java EE 8 平台一部分的规范.与9.0.59相比, ...

  7. MAC IDEA启动后卡住不动

    idea启动微服务项目的时候,卡住不动,之前一直以为是MAC M1 不兼容 问题解决: 在类方法上有个红色菱形方块,点一下取消了就好. 问题现象: Connected to the target VM ...

  8. win10安装账户卡住_安装win10系统卡住不动的原因和处理方法

    微软正式发布了Windows10系统,相信不少朋友都已经升级了.近期,一些小伙伴说安装win10系统卡住不动,尝试多次还是一样,引起此故障的原因有很多,小编认为可能是后台的网络原因导致更新无法顺利进行 ...

  9. git add .卡住不动

    问题描述 代码修改完了准备上传到github,使用 git add . 命令发现一直卡住不动了.没办法只能强行退出,如下图所示. 解决办法 研究了一番,发现了这类问题的套路,在此给大家提供一个debu ...

最新文章

  1. 面向对象之__isset__unset
  2. 生活随笔[2005-06-08]
  3. Linux之后台运行(nohup和)
  4. java 动态按钮_java-向片段动态添加按钮
  5. c++矩阵连乘的动态规划算法并输出_「Javascript算法设计」× 动态规划与回溯算法...
  6. 一步步编写操作系统 49 加载内核2
  7. OpenCV3学习(6.1)——边缘检测---Canny,Sobel,Prewitt,Robert,Laplace,LOG,DOG算子
  8. HDFS的JAVA客户端编写
  9. 超详细的计算机视觉竞赛汇总
  10. 喇叭正反相位测试音频_音频功放失真的四大要点及改善方法
  11. XML转换为dataframe
  12. 基于SSM+Eclipse+MySQL的球鞋商城(SSM毕业设计源码)(SSM在线商城)
  13. insight face数据打包(一):LFW
  14. cisco fabricpath 功能介绍
  15. oracle数据库:约束
  16. 如何在matlab中产生瞬态信号,基于小波分析的微弱信号检测及其在Matlab中的仿真...
  17. 小米摄像头有onvif协议_小米红米5Plus、小米红米Note7、vivoY3对比
  18. 问题与解决_IDEA-> Project Structure -> Artifacts-> ‘项目名‘ module: ‘Web‘ facet resources 显示红色
  19. 计算机主板提示ahci,电脑BIOS没有AHCI功能没有办法BIOS刷新怎么办
  20. 快速开发php接口服务推荐框架

热门文章

  1. PMS-adb install安装应用流程(Android L)
  2. 计算机硬件资源如何共享,如何设置计算机共享资源
  3. 凡事不可过....久视伤血,久卧伤气,久坐伤肉,久立伤骨,久行伤筯(摘于好友QQ)
  4. 怎么计算机会成本,机会成本计算公式,实例解读机会成本
  5. 《善数者成:大数据改变中国》读书笔记1
  6. 现代通信网复习资料(第一章:绪 论)
  7. Android 沉浸式状态栏攻略 让你的状态栏变色吧
  8. 软件技术发展的驱动力
  9. 复分析理论---如何形象理解平均值公式和最大模原理
  10. 视频剪辑教程自学技巧:关于正确的短视频剪辑流程分享