Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask问题解决

后记

回过头来看,这个报错只是表象,还是需要具体进一步看日志去分析才能真正找到问题并解决。

之前内容

发现这个报错后,就网上查资料喽。目前看下来两种情况比较常见,不排除其他可能。一般排查方式也是查看hive日志,job日志在你的HIVEHOME/conf的hive?log4j.properties下的hive.log.dir={java.io.tmpdir}/user.name所指的目录下,如果日志使用的是默认的配置,则在主机的/tmp/user.name所指的目录下;当然我也是先进了看了这路径下的日志,缺没有发现错误信息。。。然后摸索着去看了hiveserver2的日志发现了问题所在,然后解决了问题。下面总结下常见的两种情况

第一种,yarn资源不足

原因:
该错误是YARN的虚拟内存计算方式导致,上例中用户程序申请的内存为1Gb,YARN根据此值乘以一个比例(默认为2.1)得出申请的虚拟内存的值,当YARN计算的用户程序所需虚拟内存值大于计算出来的值时,就会报出以上错误。调节比例值可以解决该问题。具体参数为:yarn-site.xml中的yarn.nodemanager.vmem-pmem-ratio

解决方法:
调整hadoop配置文件yarn-site.xml中值:

<property>
   <name>yarn.scheduler.minimum-allocation-mb</name>
   <value>2048</value>
   <description>default value is 1024</description>
</property>
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
    <description>default value is 2.1</description>
</property>

增加yarn.scheduler.minimum-allocation-mb 数量,从缺省1024改为2048;上述运行问题即刻得到解决;
单独调整yarn.nodemanager.vmem-pmem-ratio从缺省值2.1调整到3.0,从计算上Vm=3.0*1=3.0>2.6 ,但是上述问题依然存在

PS:因本人遇到的不是这个问题,所以上述解决方法无法验证有效性,但因上述原因与具体处理有初入,不好做判断具体的有效性。

第二种,hdfs相关问题

这里面又存在网上搜到的目录不存在的错误,创建目录即可;而本人遇到的是权限问题,即切换成新建用户后,只对新用户设置了HIVE的权限,测试的时候表查询等操作没有问题,但是具体运行时报错,猜测原因是直接select等操作时没有问题,但其中有其他操作需要hdfs权限的时候就报错了。于是我把新用户在hdfs上的权限加上后,就解决了该问题。但是具体原因,因为没找到理论依据,目前只能是上述的猜测,日后若找到理论依据会补充上来。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值