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
原文地址:https://www.cnblogs.com/yjt1993/p/11049793.html
时间: 2024-08-30 03:17:29