hive sql语句报错:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTas
报错内容:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTas
原因:我是创建新表导致,超过100w条记录,近亿的单词量,所以超出yarn的虚拟内存资源分配,
yarn资源不足
该错误是YARN的虚拟内存计算方式导致,上例中用户程序申请的内存为1Gb,YARN根据此值乘以一个比例(默认为2.1)得出申请的虚拟内存的值,当YARN计算的用户程序所需虚拟内存值大于计算出来的值时,就会报出以上错误。调节比例值可以解决该问题。具体参数为:yarn-site.xml中的yarn.nodemanager.vmem-pmem-ratio 来自参考:https://blog.csdn.net/young_0609/article/details/107214651
解决:
修改hadoop/etc/hadoop/yarn-site.xml配置,添加以下内容
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
<description>default value is 1024</description>
</property>
同步配置:xsync /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml
重启hadoop集群
成功解决。