Ooz ie Исключение в потоке "main" java .lang.NoSuchMethodError: org. apache .log4j.config.PropertySetter.activate () V - PullRequest
0 голосов
/ 24 февраля 2020

Я работаю над сборкой ooz ie в контейнере docker ( Ooz ie Ошибка сборки: не удалось выполнить цель org. apache .maven.plugins: maven-assembly-plugin: 3.1.0: одиночный ). Но я столкнулся с java .lang.NoSuchMethodError, когда я запускаю следующую команду после того, как успешно собрал двоичный файл Ooz ie:

oozie-setup.sh sharelib create -fs oozie

Весь журнал ошибок:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/oozie-5.2.0/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/oozie-5.2.0/lib/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Found Hadoop that does not support Erasure Coding. Not taking any action.
the destination path for sharelib is: /user/root/share/lib/lib_20200224021814
root@382e4470c678:/# ooziedb.sh create -sqlfile oozie.sql -run

Validate DB Connection
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/oozie-5.2.0/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/oozie-5.2.0/lib/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.log4j.config.PropertySetter.activate()V
    at org.apache.log4j.PropertyConfigurator.parseAppenderFilters(PropertyConfigurator.java:923)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:845)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)
    at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:672)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:516)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
    at org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:955)
    at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
    at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58)
    at org.apache.log4j.PropertyWatchdog.<init>(PropertyConfigurator.java:947)
    at org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:473)
    at org.apache.oozie.service.XLogService.init(XLogService.java:177)
    at org.apache.oozie.service.Services.setServiceInternal(Services.java:387)
    at org.apache.oozie.service.Services.<init>(Services.java:111)
    at org.apache.oozie.tools.OozieDBCLI.getJdbcConf(OozieDBCLI.java:173)
    at org.apache.oozie.tools.OozieDBCLI.createConnection(OozieDBCLI.java:915)
    at org.apache.oozie.tools.OozieDBCLI.validateConnection(OozieDBCLI.java:923)
    at org.apache.oozie.tools.OozieDBCLI.createDB(OozieDBCLI.java:192)
    at org.apache.oozie.tools.OozieDBCLI.run(OozieDBCLI.java:135)
    at org.apache.oozie.tools.OozieDBCLI.main(OozieDBCLI.java:83)

Ooz ie версия и среда:

FROM bde2020/hadoop-base:2.0.0-hadoop2.7.4-java8

ENV MAVEN_VERSION 3.6.3
ENV OOZIE_VERSION 5.2.0

ARG PKG_HOME=/opt
ARG OOZIE_BUILD_HOME=$PKG_HOME/oozie-release-$OOZIE_VERSION
ARG MAVEN_URL=http://xenia.sote.hu/ftp/mirrors/www.apache.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
ARG OOZIE_URL=https://github.com/apache/oozie/archive/release-$OOZIE_VERSION.tar.gz

ENV OOZIE_HOME $PKG_HOME/oozie-$OOZIE_VERSION
ENV PATH $PATH:$OOZIE_HOME/bin

RUN apt-get install -y --no-install-recommends \
    unzip

RUN set -x \
    && curl -fSL "$MAVEN_URL" -o /tmp/maven.tar.gz \
    && curl -fSL "$OOZIE_URL" -o /tmp/oozie.tar.gz \
    && tar -xvf /tmp/maven.tar.gz -C $PKG_HOME/ \
    && tar -xvf /tmp/oozie.tar.gz -C $PKG_HOME/ \
    && rm /tmp/*.tar.gz

COPY oozie/distro.xml $OOZIE_BUILD_HOME/src/main/assemblies/distro.xml

RUN export PATH=/opt/apache-maven-$MAVEN_VERSION/bin:$PATH \
    && cd $OOZIE_BUILD_HOME \
    && bin/mkdistro.sh assembly:single -P uber -Dmaven.test.skip=true -DskipTests -Dhadoop.version="2.7.4" -Dhive.version="2.1.1" \
    && mv $OOZIE_BUILD_HOME/distro/target/oozie-$OOZIE_VERSION-distro.tar.gz $PKG_HOME/ && cd $PKG_HOME && tar xfv oozie-$OOZIE_VERSION-distro.tar.gz && rm oozie-$OOZIE_VERSION-distro.tar.gz \
    && rm -fR $OOZIE_BUILD_HOME \
    && rm -fR $PKG_HOME/apache-maven-$MAVEN_VERSION \
    && rm -fR ~/.m2

RUN mkdir -p /var/log/oozie \
    && mkdir -p /var/lib/oozie/data \
    && ln -s /var/log/oozie $OOZIE_HOME/log \
    && ln -s /var/lib/oozie/data $OOZIE_HOME/data

RUN mkdir $OOZIE_HOME/libext \
    && curl http://archive.cloudera.com/gplextras/misc/ext-2.2.zip -o $OOZIE_HOME/libext/ext-2.2.zip

RUN cp /etc/hadoop/core-site.xml $OOZIE_HOME/conf/hadoop-conf/core-site.xml

COPY oozie/entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh

EXPOSE 11000 11001

ENTRYPOINT ["entrypoint.sh"]

С точкой входа. sh:

echo "<!-- OOZIE -->
<property>
  <name>hadoop.proxyuser.root.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.root.groups</name>
  <value>*</value>
</property>" >> $OOZIE_HOME/conf/hadoop-conf/core-site.xml

oozie-setup.sh
oozie-setup.sh sharelib create -fs hdfs://namenode:8020
ooziedb.sh create -sqlfile oozie.sql -run
oozied.sh run

Есть идеи?

...