java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration

错误:

java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration
        at org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolSession$AbstractTriggerValidator.startTriggerValidator(TezSessionPoolSession.java:74)
        at org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolManager.initTriggers(TezSessionPoolManager.java:207)
        at org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolManager.startPool(TezSessionPoolManager.java:114)
        at org.apache.hive.service.server.HiveServer2.initAndStartTezSessionPoolManager(HiveServer2.java:839)
        at org.apache.hive.service.server.HiveServer2.startOrReconnectTezSessions(HiveServer2.java:822)
        at org.apache.hive.service.server.HiveServer2.start(HiveServer2.java:745)
        at org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:1037)
        at org.apache.hive.service.server.HiveServer2.access$1600(HiveServer2.java:140)
        at org.apache.hive.service.server.HiveServer2$StartOptionExecutor.execute(HiveServer2.java:1305)
        at org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:1149)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: java.lang.ClassNotFoundException: org.apache.tez.dag.api.TezConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 16 more

在这里插入图片描述
修改hive-site.xml
加上这个(如果有就修改,没有就添加)

<!-- hiveserver2的高可用参数,开启此参数可以提高hiveserver2的启动速度 -->
<property>
    <name>hive.server2.active.passive.ha.enable</name>
    <value>true</value>
</property>

再次启动hiveserver2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,这个错误通常是由于缺少Tez依赖项导致的。Tez是Hadoop的一个高性能数据处理框架,Hive使用它来执行查询。为了解决这个问题,你可以尝试以下几个步骤: 1.检查Hive的配置文件hive-site.xml中是否正确配置了Tez相关的属性,例如tez.lib.uris和hive.execution.engine等。 2.检查Hive的classpath中是否包含了Tez相关的jar包,例如tez-api.jar和tez-runtime-internals.jar等。 3.检查Hadoop集群中是否正确安装了Tez,并且Tez相关的jar包是否已经上传到了HDFS上。 以下是一个可能的解决方案: 1.在hive-site.xml中添加以下属性: ```xml <property> <name>tez.lib.uris</name> <value>/path/to/tez.tar.gz</value> </property> <property> <name>hive.execution.engine</name> <value>tez</value> </property> ``` 其中,/path/to/tez.tar.gz是Tez的安装包路径。 2.将Tez相关的jar包添加到Hive的classpath中。可以通过以下命令将它们添加到Hive的classpath中: ```shell export HIVE_AUX_JARS_PATH=/path/to/tez-jars/* ``` 其中,/path/to/tez-jars是Tez的jar包所在的目录。 3.确保Tez已经正确安装并上传到了HDFS上。可以通过以下命令检查: ```shell hadoop fs -ls /path/to/tez ``` 如果Tez已经上传到了HDFS上,应该会看到类似于以下的输出: ```shell Found 1 items drwxr-xr-x - user supergroup 0 2021-08-01 12:00 /path/to/tez/tez.tar.gz ``` 如果Tez没有上传到HDFS上,可以使用以下命令将其上传: ```shell hadoop fs -put /path/to/tez.tar.gz /path/to/tez/ ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值