Thai,

Why are you not using the slf4j jars inside ACCUMULO_HOME/lib?

Can you successfully run these commands:

jar tf /usr/local/Cellar/accumulo/1.7.0/lib/slf4j-api.jar
jar tf /usr/local/Cellar/accumulo/1.7.0/lib/slf4j-log4j12.jar

Thai Ngo wrote:
Hi Josh and Sean,

Thanks for your reply. I already made the verifications several times.
Below is the information you asked:

1. I got Accumulo from Apache. The version is 1.7.0. I did place the
installed accumulo in the same place with Hadoop and Zookeeper for
convenience.

2. I installed Hadoop 2.7 and Zookeeper using homebrew.

3. This is $HADOOP_PREFIX in accumulo-env.sh:

Mac :: accumulo/1.7.0/conf ‹master› » grep HADOOP_PREFIX accumulo-env.sh

    test -z "$HADOOP_PREFIX" && export
HADOOP_PREFIX=/usr/local/Cellar/hadoop/2.7.0/libexec

HADOOP_PREFIX="$HADOOP_HOME"

# export
LD_LIBRARY_PATH=${HADOOP_PREFIX}/lib/native/${PLATFORM}:${LD_LIBRARY_PATH}

Mac :: accumulo/1.7.0/conf ‹master› »


4. This is $HADOOP_PREFIX and $ACCUMULO_HOME in my environment:

Mac :: accumulo/1.7.0/conf ‹master› » echo $HADOOP_PREFIX

/usr/local/Cellar/hadoop/2.7.0/libexec

Mac :: accumulo/1.7.0/conf ‹master› » echo $ACCUMULO_HOME

/usr/local/Cellar/accumulo/1.7.0

Mac :: accumulo/1.7.0/conf ‹master› »


5. At first, I ran $ACCUMULO_HOME/bin/accumulo init but got the errors
as I said in the very first post. I then slightly modified the script
$ACCUMULO_HOME/bin/accumulo like this:

XML_FILES="${ACCUMULO_CONF_DIR}"

#LOG4J_JAR=$(find -H "${HADOOP_PREFIX}/lib"
"${HADOOP_PREFIX}"/share/hadoop/common/lib -name 'log4j*.jar' -print
2>/dev/null | head -1)

#LOG4J_JAR=$(find -H "${HADOOP_PREFIX}"/share/hadoop/common/lib -name
'log4j*.jar' -print 2>/dev/null | head -1)

LOG4J_JAR=/usr/local/Cellar/hadoop/2.7.0/libexec/share/hadoop/common/log4j-1.2.17.jar

#SLF4J_JARS="${ACCUMULO_HOME}/lib/slf4j-api.jar:${ACCUMULO_HOME}/lib/slf4j-log4j12.jar"

SLF4J_JARS="${HADOOP_PREFIX}/share/hadoop/common/lib/slf4j-api-1.7.10.jar:${HADOOP_PREFIX}/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar"

#SLF4J_JARS=/usr/local/Cellar/accumulo/1.7.0/lib/slf4j-api.jar:/usr/local/Cellar/accumulo/1.7.0/lib/slf4j-log4j12.jar

CLASSPATH="${XML_FILES}:${START_JAR}:${SLF4J_JARS}:${LOG4J_JAR}:${CLASSPATH}"


echo "Classpath ..."

echo ${CLASSPATH}


Let me know if you need any other information.

Thanks,
Thai

On Thu, Aug 6, 2015 at 9:59 AM, Sean Busbey <[email protected]
<mailto:[email protected]>> wrote:

    is this a homebrew install, by chance?

    On Wed, Aug 5, 2015 at 9:46 PM, Josh Elser <[email protected]
    <mailto:[email protected]>> wrote:

        Accumulo 1.7.0 should have the necessary slf4j jars in
        ACCUMULO_HOME/lib. The log4j jar should be pulled automatically
        from your Hadoop distribution.

        Are you using some vendor's version of Hadoop or did you get it
        from Apache (and what version is it)?

        Can you please verify the values for HADOOP_PREFIX in
        accumulo-env.sh? Can you also make sure that you don't have any
        incorrect values for HADOOP_PREFIX or ACCUMULO_HOME in your
        current environment (check `env`)?

        Thai Ngo wrote:

            Hi Christopher,

            Yes, they are.
            This is part of the output from ls -al
            $HADOOP_PREFIX/share/hadoop/common/lib:

            -rw-r--r--  1 thaingo wheel  489884 Apr 11 01:51
            log4j-1.2.17.jar

            -rw-r--r--  1 thaingo wheel 1419869 Apr 11 01:51
            mockito-all-1.8.5.jar

            -rw-r--r--  1 thaingo wheel 1199572 Apr 11 01:51
            netty-3.6.2.Final.jar

            -rw-r--r--  1 thaingo wheel   29555 Apr 11 01:51
            paranamer-2.3.jar

            -rw-r--r--  1 thaingo wheel  533455 Apr 11 01:51
            protobuf-java-2.5.0.jar

            -rw-r--r--  1 thaingo wheel  105112 Apr 11 01:51
            servlet-api-2.5.jar

            -rw-r--r--  1 thaingo wheel   32119 Apr 11 01:51
            slf4j-api-1.7.10.jar

            -rw-r--r--  1 thaingo wheel    8866 Apr 11 01:51
            slf4j-log4j12-1.7.10.jar

            -rw-r--r--  1 thaingo wheel  995968 Apr 11 01:51
            snappy-java-1.0.4.1.jar

            -rw-r--r--  1 thaingo wheel   23346 Apr 11 01:51
            stax-api-1.0-2.jar

            -rw-r--r--  1 thaingo wheel   15010 Apr 11 01:51 xmlenc-0.52.jar

            -rw-r--r--  1 thaingo wheel   94672 Apr 11 01:51 xz-1.0.jar

            -rw-r--r--  1 thaingo wheel  792964 Apr 11 01:51
            zookeeper-3.4.6.jar

            Mac :: hadoop/common/lib ‹master› »


            and this is the output from ls -al $ACCUMULO_HOME:

            Mac :: Cellar/accumulo/1.7.0 ‹master› »ls -al

            total 168

            drwxr-xr-x 15 thaingo admin    510 Aug  5 09:40 .

            drwxr-xr-x  3 thaingo admin    102 Aug  5 09:41 ..

            -rw-r--r--  1 thaingo admin 129338 May 13 01:34 CHANGES

            -rw-r--r--  1 thaingo admin   6194 May 13 01:34 INSTALL.md

            -rw-r--r--  1 thaingo admin  17174 May 13 01:34 LICENSE

            -rw-r--r--  1 thaingo admin   2079 May 13 01:34 NOTICE

            -rw-r--r--  1 thaingo admin   4568 May 13 01:34 README.md

            drwxr-xr-x 21 thaingo admin    714 Aug  5 11:26 bin

            drwxr-xr-x 20 thaingo admin    680 Aug  5 09:47 conf

            drwxr-xr-x 16 thaingo admin    544 Aug  5 09:40 docs

            drwxr-xr-x  3 thaingo admin    102 Aug  5 09:40 examples

            drwxr-xr-x 38 thaingo admin   1292 Aug  5 09:40 lib

            drwx------  2 thaingo admin     68 May 13 01:50 logs

            drwxr-xr-x  6 thaingo admin    204 Aug  5 09:40 proxy

            drwxr-xr-x  5 thaingo admin    170 Aug  5 09:40 test

            Mac :: Cellar/accumulo/1.7.0 ‹master› »


            Any thoughts?

            Thanks,
            Thai

            On Thu, Aug 6, 2015 at 2:22 AM, Christopher
            <[email protected] <mailto:[email protected]>
            <mailto:[email protected] <mailto:[email protected]>>>
            wrote:

                 Are the jars readable by the user running the Accumulo
            process?

                 --
                 Christopher L Tubbs II
            http://gravatar.com/ctubbsii


                 On Wed, Aug 5, 2015 at 1:44 AM, Thai Ngo
            <[email protected] <mailto:[email protected]>
            <mailto:[email protected] <mailto:[email protected]>>>
            wrote:
             > Hello All,
             >
             > After installing Accumulo 1.7.0 in single node mode, I ran
             > $ACCUMULO_HOME/bin/accumulo init and met the following error:
             >
             > Failed to instantiate SLF4J LoggerFactory
             >
             > Reported exception:
             >
             > java.lang.NoClassDefFoundError: org/apache/log4j/Level
             >
             > at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
             >
             > at

            
org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107)
             >
             > at
            org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295)
             >
             > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
             >
             > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
             >
             > at org.apache.accumulo.start.Main.<clinit>(Main.java:38)
             >
             > Caused by: java.lang.ClassNotFoundException:
            org.apache.log4j.Level
             >
             > at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
             >
             > at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
             >
             > at
            sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
             >
             > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
             >
             > ... 6 more
             >
             > Exception in thread "main" java.lang.NoClassDefFoundError:
             > org/apache/log4j/Level
             >
             > at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
             >
             > at

            
org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107)
             >
             > at
            org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295)
             >
             > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
             >
             > at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
             >
             > at org.apache.accumulo.start.Main.<clinit>(Main.java:38)
             >
             > Caused by: java.lang.ClassNotFoundException:
            org.apache.log4j.Level
             >
             > at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
             >
             > at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
             >
             > at
            sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
             >
             > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
             >
             > ... 6 more
             >
             >
             > I then looked into the $ACCUMULO_HOME/bin/accumulo
            script, and
                 made some
             > changes to $CLASSPATH to alternatively provide the needed
            jars
                 (log4j,
             > slf4j, slf4j-log4j) for accumulo but I encountered
            another error:
             >
             > Mac :: accumulo/1.7.0/conf ‹master› » accumuloinit
             >
             > Classpath ...
             >
             >

            
/usr/local/Cellar/accumulo/1.7.0/conf:/usr/local/Cellar/accumulo/1.7.0/lib/accumulo-start.jar:/usr/local/Cellar/hadoop/2.7.0/share/hadoop/common/lib/slf4j-api-1.7.10.jar:/usr/local/Cellar/hadoop/2.7.0/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar:/usr/local/Cellar/hadoop/2.7.0/libexec/share/hadoop/common/log4j-1.2.17.jar:
             >
             > Exception in thread "main" java.lang.NoClassDefFoundError:
             > org/slf4j/LoggerFactory
             >
             > at org.apache.accumulo.start.Main.<clinit>(Main.java:38)
             >
             > Caused by: java.lang.ClassNotFoundException:
            org.slf4j.LoggerFactory
             >
             > at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
             >
             > at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
             >
             > at
            sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
             >
             > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
             >
             > ... 1 more
             >
             > Mac :: accumulo/1.7.0/conf ‹master› »
             >
             >
             >
             > https://issues.apache.org/jira/browse/ACCUMULO-3685 did
            not fix.
             >
             > Any ideas how to fix the problem?
             >
             > Thanks,
             > Thai
             >
             >
             >
             >
             >
             >
             >
             >
             >
             >





    --
    Sean


Reply via email to