簡體   English   中英

錯誤:無法找到或加載主類 org.apache.tez.dag.app.DAGAppMaster

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

我已經安裝了 tez 並想像這樣運行示例

hadoop jar tez-examples-0.10.1.jar orderedwordcount /input /output

但它不起作用,日志是

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 是

#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 是

<?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但它不起作用。 請幫我解決這個問題。在此先感謝!!!

我在運行 tez 示例時遇到了類似的錯誤消息。 安裝指南https://tez.apache.org/install.html沒有那么明顯,但有一些有價值的說明。

有用的是一個應用程序跟蹤頁面,我從日志中發現解壓縮 tez 存檔后容器中的路徑不正確。 整個存檔被解壓縮到名為./tezlib的目錄中,CLASSPATH 的摘錄如下所示:

$PWD:$PWD/*:$PWD/tezlib/*:$PWD/tezlib/lib/*

但是存檔 apache-tez-0.10.1-bin.tar.gz(在我的 HDFS 上的路徑 /apps/apache-tez-0.10.1-bin.tar.gz)在容器內解壓縮到 ./tezlib/apache- tez-0.10.1-bin。

因此,經過幾個小時的反復試驗,我通過以下步驟解決了這個問題:

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:

<?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>

當然,可能還有另一種方法可以通過不正確的 jar 路徑來管理此錯誤。

我已經在 bigtop 發行版和 tez 0.10.0/0.10.1 的 hadoop 3.2.2 上對其進行了測試。

我通過將未壓縮的 tez 包上傳到 hdfs 並更改我的 tez-site.xml 文件解決了我的問題。

hadoop fs -put tez-0.10.1 /apps/tez

我更改的 tez-site.xml

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

<?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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM