欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Exception in thread main java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration

发布时间:2023/12/31 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Exception in thread main java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

hive on tez,为了这个配置今天是第四天了,MLGB的!!!

################################环境配置如下##########################################

软件版本
Hadoop3.1.2
Hive3.0.0
Tez0.9.2

###################################################################################################

这个报错是在启动hive客户端的时候触发了。

######################################下面是解决方案#####################################

直接说解决方案:

~/.bashrc中加入(应该也可以是$HADOOP_HOME/etc/hadoop/hadoop-env.sh,根据自己喜好即可)

export TEZ_HOME=/home/appleyuchi/bigdata/apache-tez-0.9.2-bin for jar in `ls $TEZ_HOME |grep jar`; doexport HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/$jar done for jar in `ls $TEZ_HOME/lib`; doexport HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/lib/$jar done

然后source ~/.bashrc

不用重启任何集群

重新启动hive客户端,就会发现报错消失。

##############################下面是错误配置的分析(可以跳过不看)##############################

注意:

有些同学非常自信(我一开始也是这样),

写成如下:

export TEZ_CONF_DIR=$TEZ_HOME/conf export TEZ_JARS=$TEZ_HOME/*:$TEZ_HOME/lib/* export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_CONF_DIR:$TEZ_JARS export HIVE_AUX_JARS_PATH=$HADOOP_HOME/share/hadoop/common/hadoop-lzo-0.4.13.jar:$TEZ_JARS

上述写法写法会导致报错

②ERROR [main] common.FileUtils: The jar file path file:///home/appleyuchi/bigdata/apache-tez-0.9.2-bin/* doesn't exist

然后无论你写成:

export TEZ_JARS=$TEZ_HOME/*

export TEZ_JARS=$TEZ_HOME/*.jar

export TEZ_JARS=$TEZ_HOME

都会报类似②的错误

有人反驳:

但是我以前写别的环境变量的时候明明就是这么写的啊(例如CLASSPATH),为什么设置TEZ环境变量的时候不是这么写?

因为TEZ对环境变量的处理方式比较特殊,所以你就老老实实照着写吧

你要注意,这个环境变量是被TEZ的脚本获取之后进行处理,不同软件在获取环境变量后的处理方式不同,处理方式的不同也就意味着你的环境变量的写法可能不同。

你可以回想下,你用python读取数据的时候,这个数据是有特定格式要求的。

###################################################################################################

Reference:

https://www.bbsmax.com/A/q4zVWZexJK/

总结

以上是生活随笔为你收集整理的Exception in thread main java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。