hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask[已解决]

我的报错信息

Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

 

解决1(可行):不走yarn走本地模式插入数据:
插入前在hive命令行输入(当前会话生效,退出会话失效,可将配置持久化到hive的配置文件中但不建议):set hive.exec.mode.local.auto=true;

解决2(可行):给yarn增加运行内存,配置如下:
<!-- 每个容器请求的最小内存资源(以MB为单位)。-->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<!-- 每个容器请求的最大内存资源(以MB为单位)。-->
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<!-- 容器虚拟内存与物理内存之间的比率。-->
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>4</value>
</property>
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

解决3(未尝试,理论可行):设置spark引擎
插入前在hive命令行输入(当前会话生效,退出会话失效,可将配置持久化到hive的配置文件中):set hive.execution.engine=spark;

注意:Name node is in safe mode. -> hdfs进入安全模式会导致无法对hdfs进行读写

 

which: no hbase in (/usr/local/bin:/u
找不到hbase,让他找到就行,进行环境变量的配置

 

posted @ 2023-09-23 21:18  喝着农药吐泡泡o  阅读(728)  评论(0编辑  收藏  举报