热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3.ApacheHive查询报错FAILED:org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask

版本CDH6.2.0Hive2.1.1-cdh

版本

CDH 6.2.0
Hive 2.1.1-cdh6.2.0

一、问题

执行查询视图的sql报错:FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask

视图由多个表join生成。
sql如下

select * from view_test limit 10;

日志:

Task failed!
Task ID:
Stage-11
Logs:
/tmp/hdfs/hive.log
FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
MapReduce Jobs Launched:
Stage-Stage-2: Map: 5 Reduce: 6 Cumulative CPU: 167.37 sec HDFS Read: 367721084 HDFS Write: 390996703 HDFS EC Read: 0 SUCCESS
Total MapReduce CPU Time Spent: 2 minutes 47 seconds 370 msec

/tmp/hdfs/hive.log

2021-01-29T09:28:31,911 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main-LocalTask-MAPREDLOCAL-stdout] mr.MapredLocalTask:
2021-01-29T09:28:33,576 ERROR [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] exec.Task: Execution failed with exit status: 3
2021-01-29T09:28:33,576 ERROR [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] exec.Task: Obtaining error information
2021-01-29T09:28:33,576 ERROR [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] exec.Task:
Task failed!
Task ID:
Stage-11
Logs:
2021-01-29T09:28:33,576 ERROR [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] exec.Task: /tmp/hdfs/hive.log
2021-01-29T09:28:33,576 ERROR [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] mr.MapredLocalTask: Execution failed with exit status: 3
2021-01-29T09:28:33,599 ERROR [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] ql.Driver: FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
2021-01-29T09:28:33,599 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] ql.Driver: MapReduce Jobs Launched:
2021-01-29T09:28:33,611 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] ql.Driver: Stage-Stage-2: Map: 5 Reduce: 6 Cumulative CPU: 160.0 sec HDFS Read: 367720339 HDFS Write: 390996703 HDFS EC Read: 0 SUCCESS
2021-01-29T09:28:33,611 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] ql.Driver: Total MapReduce CPU Time Spent: 2 minutes 40 seconds 0 msec
2021-01-29T09:28:33,611 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] ql.Driver: Completed executing command(queryId=hdfs_20210129092522_3916c3bc-672e-4215-b31c-940c174692a6); Time taken: 188.998 seconds
2021-01-29T09:28:33,702 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] conf.HiveConf: Using the default value passed in for log id: 8b09e42b-81d2-4cce-80c7-d27a63772e5c
2021-01-29T09:28:33,702 INFO [8b09e42b-81d2-4cce-80c7-d27a63772e5c main] session.SessionState: Resetting thread name to main
二、定位

1 搜索引擎搜索

关键字:FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask

https://blog.csdn.net/ddxygq/article/details/81676046/

博客里提到这个报错是因为开启了mapjoin导致的问题
在这里插入图片描述小表数据太大,导致了内存溢出

2 查看源码

在这里插入图片描述
上面的注释也写了是mapjoin

三、解决

1 关闭mapjoin

为什么选择关闭呢,因为已经给hive进程加过内存了,加内存只能缓解,每次小表数据量增加,都需要再次加内存,索性就直接关闭了

1.1 临时修改

su hdfs
hive
set hive.auto.convert.join = false;

修改后再次执行sql ,已经可以查询出结果

1.2 永久修改

这里使用的CDH集群

打开CDH页面 ——> 点击hive ——> 点击配置 ——>在搜索框输入mapjoin ——> 取消复选框 ——> 点击保存更改
在这里插入图片描述重启集群

再次执行sql ,已经可以查询出结果


推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了在MySQL8.0中如何查看性能并解析SQL执行顺序。首先介绍了查询性能工具的开启方法,然后详细解析了SQL执行顺序中的每个步骤,包括from、on、join、where、group by、having、select distinct、union、order by和limit。同时还介绍了虚拟表的概念和生成过程。通过本文的解析,读者可以更好地理解MySQL8.0中的性能查看和SQL执行顺序。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 本文总结和分析了JDK核心源码(2)中lang包下的基础知识,包括常用的对象类型包和异常类型包。在对象类型包中,介绍了Object类、String类、StringBuilder类、StringBuffer类和基本元素的包装类。在异常类型包中,介绍了Throwable类、Error类型和Exception类型。这些基础知识对于理解和使用JDK核心源码具有重要意义。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 本文整理了Java中org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc.getTypeInfo()方法的一些代码示例,展 ... [详细]
  • 表t_user1,t_user2,t_user3,各有id,name两列idname110A ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
author-avatar
海螺里的秘密_471
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有