FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask

在hive启动之后,可以正常进入hive的交互命令行,创建表和查询表都可以正常使用,但是在对表进行插入时候报错。
如插入语句
hive (default)> insert into student values(1,“法外狂徒张三”);
报错
Total jobs = 1
Launching Job 1 out of 1
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
【原因:】
Tez时检查到用过多内存而被NodeManager杀死进程问题,这种问题是从机上运行的Container试图使用过多的内存,而被NodeManager kill掉了。
【解决方案】
方案一:或者是关掉虚拟内存检查。我们选这个,修改yarn-site.xml
cd /opt/module/hadoop-3.1.3/etc/hadoop
vim yarn-site.xml

<property>
<name>yarn.nodemanager.vmem-check-enabledname>
<value>falsevalue>
property>

方案二:mapred-site.xml中设置Map和Reduce任务的内存配置如下:(value中实际配置的内存需要根据自己机器内存大小及应用情况进行修改)

<property>
  <name>mapreduce.map.memory.mbname>
  <value>1536value>
property>
<property>
  <name>mapreduce.map.java.optsname>
  <value>-Xmx1024Mvalue>
property>
<property>
  <name>mapreduce.reduce.memory.mbname>
  <value>3072value>
property>
<property>
  <name>mapreduce.reduce.java.optsname>
  <value>-Xmx2560Mvalue>
property>

最后重新启动hadoop集群,重新启动hive后台服务

你可能感兴趣的:(hive)