spark任务执行过程中经常性的failed但是任务并没有失败最后总能跑完

2023-11-11

1.现象场景:在spark执行程序中会看到很多的failed但是过程能正常执行完
在这里插入图片描述

spark任务执行过程中经常性的failed但是任务并没有失败最后总能跑完

查看如下:ExecutorLostFailure (executor 11 exited caused by one of the running tasks) Reason: Executor heartbeat timed out after 941664 ms

spark任务执行过程中经常性的failed但是任务并没有失败最后总能跑完
在这里插入图片描述

表面现象的问题是直接某个机器由于心跳超时,超过一定时间没有向master发送心跳,导致master认为该机器节点挂掉,然后将任务放到别的机器上计算导致的。实际上引发没有心跳的原因有很多。具体情况具体分析。

1.该台机器任务太多cpu被占用满,导致没有资源发送心跳,这个时候就需要设置一下excutor 的内存和cpu的占用以及shul数量,查看一下yarn-site.xml的配置,看一下是否是超出了这台机器资源范围导致了这个问题,

2.该台机器分配的内存过少(堆栈内存)导致频繁gc或者写入磁盘导致时间过长,超过心跳时间导致失败。这时候直接配置

spark.yarn.executor.memoryOverhead 这个参数,增加每一个excutor的内存。或者通过spark.memory.storageFraction设置堆和栈的比平衡

3.由于计算数据量或者文件量过大,导致该节点超时问题,这个时候也可以同1一样,增加并发量 提交num-executors 以及减少executor-cores和executor-memory 来在资源消耗不增加的情况下提高 并发量。

4.万金油方法就是提高超时检测时间。通过设置spark.network.timeout 和 spark.executor.heartbeatInterval 来增加心跳超时机制从而减少失败数量,只要不是机器挂掉总能跑完不是…当然官方建议spark.executor.heartbeatInterval应该大大小于spark.network.timeout 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spark任务执行过程中经常性的failed但是任务并没有失败最后总能跑完 的相关文章

随机推荐

  • 渗透必备工具-BurpSuite

    目录 介绍 爆破 解码 BurpSuite burpsuite基本可以说是渗透的必备工具 用起来也很简单 方便 通常使用它可以进行一些截包分析 修改包数据 暴力破解 扫描等很多功能 用得最多的应该是开代理截包分析数据和爆破 解码 加密 bu
  • Ubuntu 22.04 LTS root登录、修改当前用户名和主机名

    前言 Ubuntu 22 04 默认不开启root用户 配置操作 1 开启 root 以普通用户登录系统 创建root用户的密码 opt opt sudo passwd root SSH 放行 opt opt sudo sed i s Pe
  • jeecgboot 上传文件

    jeecgboot框架中文件上传接口 jeecg boot sys common upload 支持本地上传 配置云上传等多种方式上传文件 local为本地存储 还需要配置jeecg path upload minio为使用MinIO线上存
  • tcp/ip协议详解

    1 TCP IP协议族是一个四层协议系统 自低而上分别是数据链路层 网络层 传输层 应用层 1 数据链路层 实现了网卡接口的网络驱动程序 以处理数据在物理媒介上的传输 ARP协议 将目标机器的IP地址转换为其物理地址 数据链路层使用物理地址
  • Oracle_SQL_序列与groupby同时用

    暂做记录 大小 19 6 KB 查看图片附件
  • Re48:读论文 kNN-LMs Generalization through Memorization: Nearest Neighbor Language Models

    诸神缄默不语 个人CSDN博文目录 论文名称 Generalization through Memorization Nearest Neighbor Language Models 模型简称 kNN LMs 本文是2020年ICLR论文
  • Linux系统的组成

  • 过滤器(Filter)与拦截器(Interceptor )区别

    过滤器 Filter Servlet中的过滤器Filter是实现了javax servlet Filter接口的服务器端程序 主要的用途是设置字符集 控制权限 控制转向 做一些业务逻辑判断等 其工作原理是 只要你在web xml文件配置好要
  • uni-calendar日历组件日期范围默认选中及优化存在日期范围后点击第一下、第二下选中为下一日期范围

    1 日期范围默认选中 该组件未提供默认选择日期范围 需对组件进行修改 步骤如下 1 在 uni calendar 文件下找到 uni calendar vue 文件 props 中增加 defaultRange type Array def
  • Vue2.0中el-table的循环写法

    文章目录 一般写法 偷懒 写法 在有开发任务的一周 过得是相当快 这一周的开发学到不少东西 首先回忆一下在代码中使用到的table循环 一般写法 现在学会了 偷懒 之前写的代码就跟搬运工一样 表格中的每一列都会去写一行代码
  • php://filter绕过死亡exit

    文章目录 php filter绕过死亡exit 前言 EIS 2019 EzPOP 绕过exit 参考 php filter绕过死亡exit 前言 最近写了一道反序列化的题 其中有一个需要通过php filter去绕过死亡exit 的小tr
  • 事务回滚

    转自 https blog csdn net ProGram BlackCat article details 88230287 spring的事务边界是在调用业务方法之前开始的 业务方法执行完毕之后来执行commit or rollbac
  • 安装tensorflow-gpu和tensorflow_federated

    前言 在安装tensorflow gpu前要先安装CUDA和cuDNN 具体安装步骤可以见上一篇文章 记录Win10正确安装CUDA和cuDNN的过程 记录一些坑 安装tensorflow gpu 我电脑上安装的CUDA版本为10 2 cu
  • 专业三复习

    mysql复习 C Users 86131 gt mysql uroot proot C Users 86131 gt mysql uroot proot mysql gt show databases Database informati
  • [MySQL]获取某个字段中某个字符的个数

    例 获取account name字段中 的个数 select length account name length REPLACE account name from user
  • 【LeetCode算法系列题解】第6~10题

    CONTENTS LeetCode 6 N 字形变换 中等 LeetCode 7 整数反转 中等 LeetCode 8 字符串转换整数 atoi 中等 LeetCode 9 回文数 简单 LeetCode 10 正则表达式匹配 困难 Lee
  • RabbitMQ-TTL消息存活时间

    文章目录 TTL是什么 TTL的测试 小结 TTL是什么 TTL全称Time To Live 存活时间 过期时间 当消息到达存活时间后 还没有被消费 会被自动清除 RabbitMQ可以对消息设置过期时间 也可以对整个队列 Queue 设置过
  • MapReduce的基本工作原理

    MapReduce的基本模型和处理思想 三个层面上的基本构思 1 如果对付大数据处理 分而治之 对相互之间不具有计算依赖关系的大数据 实现并行最自然的办法就是采取分而治之的策略 2 上升到抽象模型 Mapper与Reduce MPI等并行计
  • 那些配置服务器踩的坑

    最近在配置内网 无外网的服务器 纯纯记录一下踩得坑 希望看到的人不要再走这条弯路 任务 对接在目标服务器部署目标sdk 第一天 由于服务器是十分保密的 且通过层层套娃才能传到
  • spark任务执行过程中经常性的failed但是任务并没有失败最后总能跑完

    1 现象场景 在spark执行程序中会看到很多的failed但是过程能正常执行完 spark任务执行过程中经常性的failed但是任务并没有失败最后总能跑完 查看如下 ExecutorLostFailure executor 11 exit