美文网首页
大数据开发之Hive案例篇6- MR任务shuffle过程中失败

大数据开发之Hive案例篇6- MR任务shuffle过程中失败

作者: 只是甲 | 来源:发表于2023-05-24 09:36 被阅读0次

一. 问题描述

今天跑一个MR任务,数据量不大,跑了半个小时左右,遇到了超时的报错

报错信息:

Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#6 at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:136) at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:377) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168) Caused by: java.lang.OutOfMemoryError: Java heap space at org.apache.hadoop.io.BoundedByteArrayOutputStream.<init>(BoundedByteArrayOutputStream.java:56) at org.apache.hadoop.io.BoundedByteArrayOutputStream.<init>(BoundedByteArrayOutputStream.java:46) at org.apache.hadoop.mapreduce.task.reduce.InMemoryMapOutput.<init>(InMemoryMapOutput.java:60) at org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl.unconditionalReserve(MergeManagerImpl.java:313) at org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl.reserve(MergeManagerImpl.java:303) at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyMapOutput(Fetcher.java:532) at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyFromHost(Fetcher.java:342) at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:198)
image.png

二. 解决方案

调整参数即可

mapreduce.reduce.shuffle.memory.limit.percent=0.1 # 默认是0.25 可以在代码里面设置,也可以在mapred-site.xml文件配置,这个参数的意思是说reduce每次fetceh数据的时候,达到reduce jvm内存的百分之多少的时候,就把数据写入到磁盘

相关文章

  • 使用Sqoop导Mysql数据到Hbase报错

    报错日志 失败原因 使用sqoop导mysql数据到HDFS,不用在hive里面建表,在跑mr任务时候自动创建hi...

  • MR任务块丢失导致任务失败的问题处理

    问题描述 发现一个正常运行的hive任务突然失败了,如下图: 主要是由于map有任务失败导致整个MR失败了,查看m...

  • hive的数据倾斜操作

    hive底层对应的是mr程序。需要注意数据倾斜问题: Hive进阶 数据倾斜 在我们数据清洗过程中,经常会出现一种...

  • 常见面试题

    一、mr的shuffle流程 说到mr的Shuffle,那么首先要明确shuffle属于哪个阶段。shuffle就...

  • Hive特殊分隔符处理

    Hive特殊分隔符处理 案例数据 失败案例: 创建表录入数据 解决方案一: 将数据文件里的||变成| 解决方案二:...

  • sendmail使用案例1

    sendmail使用案例1 查询hive数据后发邮件给开发人员 邮件预览

  • 大数据开发之Hive篇10-Hive高级查询with语句

    备注:Hive 版本 2.1.1 测试数据 一.Hive with语句概述 在进行HQL开发的过程中,对于复杂的报...

  • DBeaver连接Hive

    使用hive进行数据开发过程中,也可以用图形化界面来进行开发,此处讲解DBeaver连接Hive 一.DBeave...

  • 一小时搞定Mapreduce程序

    之前一直用hive处理数据,觉得MR程序打包上传的比较麻烦,后来偶遇hive搞不定的文件网上找了个MR的例子稍微改...

  • 如何处理hive中的数据倾斜

    什么是数据倾斜 hive在shuffle的部分操作时,由于数据key的分化不均,造成有的节点数据很多,而有的节点数...

网友评论

      本文标题:大数据开发之Hive案例篇6- MR任务shuffle过程中失败

      本文链接:https://www.haomeiwen.com/subject/cqoisdtx.html