Shuffle failed with too many fetch failures and insufficient progress!
在hive中跑数时候报错
Caused by: java.io.IOException: Reducer_2: Shuffle failed with too many fetch failures and insufficient progress!failureCounts=1, pendingInputs=1, fetcherHealthy=false, reducerProgressedEnough=true, reducerStalled=true
at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.ShuffleScheduler.isShuffleHealthy(ShuffleScheduler.java:1047)
at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.ShuffleScheduler.copyFailed(ShuffleScheduler.java:788)
at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.copyFromHost(FetcherOrderedGrouped.java:316)
at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.fetchNext(FetcherOrderedGrouped.java:180)
at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.callInternal(FetcherOrderedGrouped.java:192)
at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.callInternal(FetcherOrderedGrouped.java:56)
… 5 more
调下面这个参数的值,把它调小尝试。
set mapreduce.reduce.shuffle.memory.limit.percent=0.10;
调整参数后,错误就没有了。
> MergeManager
MergeManager是重要的数据结构,用于管理shuffle的数据。它尽量使用内存来缓存shuffle的数据,提高效率,
如果缓存不了,则输出到硬盘上。
MergeManager的几个重要参数
> mapreduce.reduce.shuffle.input.buffer.percent:
> Reduce的内存缓冲区大小,内存比例,默认是0.7。Shuffle内存为总内存 * 0.7。
> mapreduce.reduce.shuffle.memory.limit.percent:
> 单个shuffle任务能使用的内存限额,默认是0.25,即为 Shuffle内存 * 0.25。
> 低于此值可以输出到内存,否则输出到磁盘。 mapreduce.reduce.shuffle.merge.percent:默认值为0.66。
> shuffle的数据量到Shuffle内存 * 0.66的时候,启动合并。也就是内存到磁盘merge的启动门限,把内存中数据合并到磁盘。
Shuffle failed with too many fetch failures and insufficient progress!相关推荐
- Spark报错:ERROR shuffle.RetryingBlockFetcher: Exception while beginning fetch of 1 outstanding blocks
错误 今天运行 Spark 任务时报了一个错误,如下所示: ERROR shuffle.RetryingBlockFetcher: Exception while beginning fetch of ...
- Spark Shuffle系列-----1. Spark Shuffle与任务调度之间的关系
本文转自http://blog.csdn.net/u012684933/article/details/49074185,所有权力归原作者所有,仅供学习. Spark根据RDD间的依赖关系是否是Shu ...
- h5的fetch方法_扣丁学堂HTML5分享h5中的fetch方法解读
扣丁学堂HTML5分享h5中的fetch方法解读 2018-07-06 14:43:10 725浏览 本篇文章扣丁学堂 Fetch概念: fetch身为H5中的一个新对象,他的诞生,是为了取代ajax ...
- 【hadoop权威指南第四版】第六章MR的工作原理【笔记+代码】
6.1 运行MR作业 工作原理 四大模块: 客户端,提交MR作业. jobtracker,协调作业的运行.jobtracker 是一个java应用程序,主类是Jobtracker. tasktrack ...
- spark task 任务状态管理
spark task 任务状态管理 spark task 的任务状态经常进行更新,当任务完成后,这个任务是怎么取得结果的呢,看下面的代码流程 def statusUpdate(tid: Long, s ...
- [Spark版本更新]--Spark-2.0.1版本的最新改动
spark-2.0.1版本的最新改动 Sub-task(子任务) [SPARK-15232] - Add subquery SQL building tests to LogicalPlanToSQL ...
- 深入理解Spark:核心思想与源码分析
大数据技术丛书 深入理解Spark:核心思想与源码分析 耿嘉安 著 图书在版编目(CIP)数据 深入理解Spark:核心思想与源码分析/耿嘉安著. -北京:机械工业出版社,2015.12 (大数据技术 ...
- 为什么说spark不稳定
下面的这篇文章,从14年9月11日被抄袭,一直抄到2020年+ [1]里面有这么一句话: 稳定性方面,由于代码质量问题,Spark长时间运行会经常出错,在架构方面,由于大量数据被缓存在内存中,Java ...
- Spark源码分析之cahce原理分析
Task运行的时候是要去获取Parent 的RDD对应的Partition的数据的,即它会调用RDD的iterator方法把对应的Partition的数据集给遍历出来,然后写入存储,这个存储可能是磁盘 ...
- Spark源码分析之DAGScheduler以及stage的划分
一 核心属性 TaskScheduler taskScheduler: task调度器 AtomicInteger nextJobId: 获取下一个jobId Int numTotalJobs:job ...
最新文章
- Mac虚拟机安装windows教程--Parallels 5
- Python基础概念_10_异常处理
- 文献学习(part72)--Learning the parts of objects by non-negative matrix factorization
- mac10.12 安装mysql_在mac os10.12上安装mysql5.7.18
- 计算机启动应用程序的方法,excel的程序_Excel2010中启动应用程序的三种方法
- HTTP知识普及系列:HTTP返回状态码
- SQL Server含逗号分隔的数据匹配维表
- vsoce-video
- java day04【 Idea、方法】
- win10安装pyhive包
- 带你搭建一个H5游戏平台,附源码下载
- Linux系统内核升级
- 视频剪辑的工作前景是什么?
- 推荐 10 款让你的 Chrome 浏览器功能更强大的插件
- 想要分离歌曲内的伴奏?轻松搞定
- 学生课程注册管理系统
- 我和王争学设计模式|建造者模式
- HANA 如何创建XS Job来完成定时任务
- sql语句:简写拼音查询
- 2019HDU多校第一场 HDU6578 Blank