问题:Error during job, obtaining debugging information..
FAILED: Execution Error, return code 2 from org. apache , hadoop. hive. ql. exec . mr. MapRedTaskMapReduce Jobs Launched:
Stage-Stage-l: HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec
原因:namenode内存空间不够,jvm 剩余空间不够新的job运行导致的;
解决方法:将hive设置成本地模式来执行任务
1. 临时设置:
set hive.exec.mode.local.auto=true;
这样设置比较麻烦,需要每次执行语句的时候输入这条命令,而且输一次命令只能执行一次语句,再次执行其他语句的时候就会提示进程被杀死。需要从新启动hive。每次都要重新启动一次hive然后在输一次这条语句比较麻烦。
2. 长远设置:
在hive-site.xml 文件添加配置
<property>
<name>hive.exec.mode.local.auto</name>
<value>true</value>
</property>
设置了之后从新启动hive就可以了。
我设置了本地模式之后启动hive然后进行增加,查询数据的时候又提示了无法分配内存
这里问题解决了忘记保存图片了。
解决方法:可以通过创建swap交换分区来解决内存分配不足问题
具体参考这篇文章
https://blog.csdn.net/m0_61232019/article/details/127618271?spm=1001.2014.3001.5502