Улей на Tez: не удалось найти или загрузить основной класс 400 - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь настроить куст на Tez , следуя формальному документу и руководству по установке Tez . В общих чертах моя среда и конфигурация следующие: -

  1. Apache Версия Hadoop / YARN 3.1.2
  2. Apache Версия Hive 3.1.2
  3. Apache Версия Tez 0.9.2
  4. версия openjdk 1.8.0_242
  5. ОС: версия CentOS 7.7.1908 и версия Debian 10 (buster)

Пока что Я добился правильного запуска YARN/Spark/Hive и Hive(mr) с bin/hive и bin/beeline. Затем я перехожу к следующему шагу для настройки Hive on Tez в качестве следующей информации: -

Переменная среды

export TEZ_CONF_DIR=/opt/tez/conf
export TEZ_JARS=/opt/tez/*:/opt/tez/lib/*
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$(hadoop classpath)

HDFS

hdfs dfs -mkdir -p /apps/tez \
&& hdfs dfs -put /opt/tez/* /apps/tez \
&& hdfs dfs -chmod g+w /apps/tez

tez-site. xml

<configuration>
    <property>
        <name>tez.lib.uris</name>
        <value>${fs.defaultFS}/apps/tez/,${fs.defaultFS}/apps/tez/lib/</value>
    </property>
    <property>
        <name>tez.use.cluster.hadoop-libs</name>
        <value>false</value>
    </property>
</configuration>

hive-site. xml

<configuration>
    <property>
        <name>hive.execution.engine</name>
        <value>tez</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:postgresql://metastore-db:5432/metastore</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>org.postgresql.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>some-user</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>some-password</value>
    </property>
</configuration>

Запустите Hive Server 2

${HIVE_HOME}/bin/hiveserver2 --hiveconf hive.server2.enable.doAs=false

Существует приложение, отображаемое на Resource Manager UI и его статус FAILED вместе с hiveserver2 показывают мне ошибку следующим образом: -

Failing this attempt.Diagnostics: [2020-03-10 08:28:06.410]Exception from container-launch.
Container id: container_1583471849377_0012_02_000001
Exit code: 1

[2020-03-10 08:28:06.413]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
Error: Could not find or load main class 400


[2020-03-10 08:28:06.414]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
Error: Could not find or load main class 400


For more detailed output, check the application tracking page: 
http://node-master:61688/cluster/app/application_1583471849377_0012 
Then click on links to logs of each attempt.
. Failing the application.

У меня также есть возможность посетить журнал приложений на YARN

1057 * упоминается как Error: Could not find or load main class 400

launch_container.sh упоминается как

echo "Launching container"
exec /bin/bash -c "$JAVA_HOME/bin/java  \
-Xmx1228m \
-Djava.io.tmpdir=$PWD/tmp \
-server \
-Djava.net.preferIPv4Stack=true \
-Dhadoop.metrics.log.level=WARN  \

400 \ # <---- Suspected which may be related to the above error.

-Dlog4j.configuratorClass=org.apache.tez.common.TezLog4jConfigurator \
-Dlog4j.configuration=tez-container-log4j.properties \
-Dyarn.app.container.log.dir=/opt/hadoop/logs/userlogs/application_1583471849377_0012/container_1583471849377_0012_02_000001 \
-Dtez.root.logger=INFO,CLA \
-Dsun.nio.ch.bugLevel='' \
org.apache.tez.dag.app.DAGAppMaster \
--session \
1>/opt/hadoop/logs/userlogs/application_1583471849377_0012/container_1583471849377_0012_02_000001/stdout \
2>/opt/hadoop/logs/userlogs/application_1583471849377_0012/container_1583471849377_0012_02_000001/stderr "

Я понятия не имею, откуда возникла ошибка Could not find or load main class 400, и единственной как указано выше launch_container.sh.

Не могли бы вы помочь посоветовать, как решить эту проблему? Я что-то не так делаю?

Редактировать:

Суть отображения длинных строк:

https://gist.github.com/charleech/8cd615c0236626882c7a3ea7532ad4d5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...