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集群

成功解决。

posted @ 2022-10-15 23:37  好(justice)……  阅读(258)  评论(0编辑  收藏  举报