hive on tez 错误记录
Posted yjt1993
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive on tez 错误记录相关的知识,希望对你有一定的参考价值。
1、执行过程失败,报 Container killed on request. Exit code is 143
如下图:
分析:造成这种原因是由于总内存不多,而容器在jvm中占比过高,修改tez-site.xml文件,添加如下配置:
<property>
<name>tez.container.max.java.heap.fraction</name>
<value>0.2</value> #调低内存占比,默认是0.8(也就是80%)
</property>
2、ERROR [main] exec.TaskRunner: Error in executeTask java.lang.NoSuchFieldError: DEFAULT_MR_AM_ADMIN_USER_ENV
分析:
- hadoop版本与tez所带的hadoop版本不一致。
- 没有配置tez的类路径或者配置失效。
解决:
- 第一种情况,删除tez的lib目录下的hadoop包,然后拷贝hadoop lib下的hadoop包过去。(参考上篇hive on tez)
- 第二种情况,在hadoop-env.sh配置环境变量 或者拷贝tez目录或者tez的lib目录下的.jar包到hive下的lib目录。
1、hadoop-env.sh配置环境变量
TEZ_CONF_DIR=/data1/hadoop/hadoop/etc/hadoop/ TEZ_JARS=/tez-0.9.0 export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_CONF_DIR:$TEZ_JARS/*:$TEZ_JARS/lib/*
或者
2、拷贝jar文件到hive
#scp /tez-0.9.0/*.jar /data1/hadoop/hive/lib
#scp /tez-0.9.0/lib/*.jar /data1/hadoop/hive/lib
以上是关于hive on tez 错误记录的主要内容,如果未能解决你的问题,请参考以下文章
通过 Hive JDBC 在 Tez 上进行 Hive - 错误