Hive on tez 运行报错集锦

时间:2024-03-30 14:01:44

执行 hive:直接报java.lang.ClassNotFoundException: org.apache.hadoop.mapred.MRVersion

CDH集群安装组件都ok,在Hue界面中使用Hive的HQL是都是ok的

Hive on tez 运行报错集锦

但是直接在liunx中,打开客户端命令:

执行 hive:直接报java.lang.ClassNotFoundException: org.apache.hadoop.mapred.MRVersion

解决方案:

因为CDH的hive-site.xml配置文件中没有指向hadoop的安装目录,以下是我后加的配置相:

hive在CDH中的路径如下:/opt/cloudera/parcels/CDH/lib/hive/conf,注意,修改后记得分发集群

Hive on tez 运行报错集锦

 

hive on tez 运行时抛 java.lang.NoClassDefFoundError: com/esotericsoftware/kryo/Serializer

解决方案:

将/opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/oozie/libserver/kryo-2.22.jar的jar包放入到tez/lib下。

如果报跑tez任务的是报classnotfound,可以试着在hadoop-env.sh的最后添加tez的位置。

vi /etc/hadoop/conf/hadoop-env.sh

TEZ_CONF_DIR=/opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/tez/conf/tez-site.xml

TEZ_JARS=/opt/cloudera/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678/lib/tez

export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*

 

配置好之后,在liunx的终端就可以使用tez引擎了,

Hive on tez 运行报错集锦

但是在Hue上使用tez引擎会报错,

解决方案:

hue使用的是hive的远程连接窗口,所以在配置值得在hiveserver2的环境高级代码段配置
Hive on tez 运行报错集锦
重启hive组件