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,让他找到就行,进行环境变量的配置
本文作者:TranquilTimber
本文链接:https://www.cnblogs.com/gbrr/p/17725082.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步