HIVE报错:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.Map RedTask

遇到 Hive 执行错误 "FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask" 时,可以尝试以下几种解决方法:

亲测1+6就可以好使。

  1. 设置 Hive 支持并发: 在运行 SQL 命令前,可以尝试设置 hive.support.concurrencyfalse
    set hive.support.concurrency=false;
  2. 调整 YARN 资源配置: 如果是因为 YARN 资源不足,可以修改 yarn-site.xml 配置文件,例如增加 yarn.scheduler.minimum-allocation-mbyarn.scheduler.maximum-allocation-mb 的值。

    <property>
      <name>yarn.scheduler.minimum-allocation-mb</name>
      <value>2048</value>
    </property>
    <property>
      <name>yarn.scheduler.maximum-allocation-mb</name>
      <value>2048</value>
    </property>
  3. 调整 MapReduce 内存设置: 如果是因为内存溢出,可以在运行 SQL 命令前设置 MapReduce 的内存参数。

    set mapreduce.map.memory.mb=10150;
    set mapreduce.map.java.opts=-Xmx6144m;
    set mapreduce.reduce.memory.mb=10150;
    set mapreduce.reduce.java.opts=-Xmx8120m;
  4. 同步集群时间: 如果是因为各个节点时间不同步,可以查看集群时间并使用 ntpdate 命令同步时间。

    ntpdate cn.pool.ntp.org
  5. 检查 Hadoop 和 Hive 版本兼容性: 如果是因为版本不兼容,建议查看兼容表确认。

  6. 处理动态分区问题: 如果是因为分区数量太多,可以设置动态分区的相关参数。

    set hive.exec.dynamic.partition=true;
    set hive.exec.max.dynamic.partitions=1000;
    set hive.exec.max.dynamic.partitions.pernode=100;
  7. 关闭自动装载: 可以尝试关闭 Hive 的自动装载功能。

    set hive.auto.convert.join= false;
  8. 增加 Hive 启动堆栈内存: 修改 hadoop-env.shhive-config.sh 中的配置,增加内存设置。

    export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"
    export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-2048}
  9. 执行引擎设置: 可以尝试设置执行引擎为 Spark 或 Tez。

    set hive.execution.engine=spark;
  10. 检查数据类型和表结构: 确保插入数据的类型与目标表的列类型匹配,并且表结构是一致的。

  11. 优化查询语句: 使用 EXPLAIN 语句分析查询的执行计划,优化查询性能。

  12. 检查集群资源利用情况: 如果集群资源不足,可以考虑增加资源或者优化资源分配。

这些方法可以根据不同的情况尝试,以解决 Hive 执行错误的问题。如果问题依然存在,建议查看 Hive 日志获取更详细的错误信息。

这些方法可以根据不同的情况尝试,以解决 Hive 执行错误的问题。如果问题依然存在,建议查看 Hive 日志获取更详细的错误信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值