离线数据分析项目中集成了hive的tez运行引擎出现的问题
原因:
出现这种情况,是属于 启动hive,会运行Tez,这时候检查到用过多内存而被NodeManager杀死进程的问题。
解决方案:
方案一:关掉虚拟内存检查。所以,修改yarn-site.xml配置文件
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
方案二:mapred-site.xml中设置Map和Reduce任务的内存配置如下:(value中实际配置的内存需要根据自己机器内存大小及应用情况进行修改)
<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
本人是用第一种方案解决。
如果在第一种方案解决不了的情况下,再加入方案二的配置信息,即可解决。
如果有纰漏之处,请大神斧正!