首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:找不到或加载主类org.apache.tez.dag.app.DAGAppMaster

错误:找不到或加载主类org.apache.tez.dag.app.DAGAppMaster
EN

Stack Overflow用户
提问于 2022-05-12 06:35:35
回答 2查看 520关注 0票数 0

我已经安装了tez,并希望像这样运行这个示例

代码语言:javascript
运行
复制
hadoop jar tez-examples-0.10.1.jar orderedwordcount /input /output

但这不是工作,日志是

代码语言:javascript
运行
复制
Log Type: stderr

Log Upload Time: Thu May 12 13:19:25 +0800 2022

Log Length: 77

Error: Could not find or load main class org.apache.tez.dag.app.DAGAppMaster

Log Type: stdout

Log Upload Time: Thu May 12 13:19:25 +0800 2022

Log Length: 716

Heap
 PSYoungGen      total 17920K, used 921K [0x00000000eef00000, 0x00000000f0300000, 0x0000000100000000)
  eden space 15360K, 6% used [0x00000000eef00000,0x00000000eefe67a8,0x00000000efe00000)
  from space 2560K, 0% used [0x00000000f0080000,0x00000000f0080000,0x00000000f0300000)
  to   space 2560K, 0% used [0x00000000efe00000,0x00000000efe00000,0x00000000f0080000)
 ParOldGen       total 40960K, used 0K [0x00000000ccc00000, 0x00000000cf400000, 0x00000000eef00000)
  object space 40960K, 0% used [0x00000000ccc00000,0x00000000ccc00000,0x00000000cf400000)
 Metaspace       used 2541K, capacity 4480K, committed 4480K, reserved 1056768K
  class space    used 283K, capacity 384K, committed 384K, reserved 1048576K

my_env.sh是

代码语言:javascript
运行
复制
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_331

export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

#HIVE_HOME
export HIVE_HOME=/opt/module/hive-3.1.3
export PATH=$PATH:$HIVE_HOME/bin

#MAVEN_HOME
export MAVEN_HOME=/opt/module/maven-3.8.5
export PATH=$PATH:$MAVEN_HOME/bin

#TEZ_HOME
export TEZ_HOME=/opt/module/tez-0.10.1
export HADOOP_CLASSPATH=${TEZ_HOME}/conf:${TEZ_HOME}/*:${TEZ_HOME}/lib/*

tez-site.xml是

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
    <name>tez.lib.uris</name>
    <value>${fs.defaultFS}/apps/tez/tez-0.10.1.tar.gz</value>
</property>
<property>
    <name>tez.use.cluster.hadoop-libs</name>
    <value>false</value>
</property>
<property>
    <name>tez.history.logging.service.class</name>
    <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property>
</configuration>

我试过回答https://issues.apache.org/jira/browse/TEZ-3392,但这不是工作。请帮助我提前解决this.Thanks!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-26 06:51:40

我通过向hdfs上传一个未压缩的tez包并更改tez-site.xml文件来解决我的问题。

代码语言:javascript
运行
复制
hadoop fs -put tez-0.10.1 /apps/tez

我更改的tez-site.xml

主要不同的地方是"tez.lib.uris"

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>tez.lib.uris</name>
        <value>${fs.defaultFS}/apps/tez/tez-0.10.1,${fs.defaultFS}/apps/tez/tez-0.10.1/lib</value>
    </property>
    <property>
        <name>tez.use.cluster.hadoop-libs</name>
        <value>false</value>
    </property>
    <property>
        <name>tez.history.logging.service.class</name>
        <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
    </property>
    <property>
        <name>tez.am.resource.memory.mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>tez.am.resource.cpu.vcores</name>
        <value>1</value>
    </property>
</configuration>
票数 0
EN

Stack Overflow用户

发布于 2022-05-22 14:43:19

我在运行tez示例时有类似的错误消息。安装指南https://tez.apache.org/install.html没有那么粗俗,但是有一些有价值的注释。

一个应用程序跟踪页面很有帮助,我从日志中发现,解压缩后容器中的路径是不正确的。整个归档文件被解压缩到名为./tezlib的目录,而CLASSPATH的摘录如下:

代码语言:javascript
运行
复制
$PWD:$PWD/*:$PWD/tezlib/*:$PWD/tezlib/lib/*

但是存档apache-tez-0.10.1-bin.tar.gz (在我的HDFS中的path /app/apache-tez-0.10.1-bin.tar.gz)被解压缩到一个容器中./tezlib/apache-tez-0.10.1-bin。

因此,经过几个小时的尝试和错误之后,我按照以下步骤解决了这个问题:

代码语言:javascript
运行
复制
tar -xf apache-tez-0.10.1-bin.tar.gz
tar -czf apache-tez-0.10.1-bin-nodir.tar.gz -C apache-tez-0.10.1-bin .
hdfs dfs -copyFromLocal apache-tez-0.10.1-bin-nodir.tar.gz /apps/

上面的第二行将tez jar打包到没有父目录的存档中。之后,tez示例将无错误地运行,并完成成功。

我的tez-site.xml:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/apps/apache-tez-0.10.1-bin-nodir.tar.gz</value>
</property>

<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>
</configuration>

当然,还有另外一种方法可以使用不正确的jars路径来管理此错误。

我在Hadoop3.2.2上测试了bigtop发行版和tez0.10.0/0.10.1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72211046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档