在我解决新集群动态模式非严格模式后重新发起请求又报了新的错误,发现又报了新的错误如下
Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask (state=08S01,code=2)
看到是mapredtask的原因,于是想到因该是mapreduce给的内存不足或者是hadooop的hdfs系统爆满(这个一般不是),于是我考虑给hadoop及mapreduce增加运行时的内存
解决方法:
①在Hadoop的配置文件Hadoop-env.sh中增加如下配置:
export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"
②在yarn-site.xml 文件中增加内容:
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx1024m</value>
</property>
③在map-site.xml文件增加内容
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>4096</value>
</property>