Question

I am using hadoop.2.2.0 and when I try to initialize accumulo I get the following error. Hadoop and Zookeeper are running on this system.

    root@ps-ubuntuhost2:/usr/local/bin/accumulo-1.5.0/bin# ./accumulo init
        Thread "init" died null
    java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:601)
            at org.apache.accumulo.start.Main$1.run(Main.java:101)
            at java.lang.Thread.run(Thread.java:722)
    Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
            at org.apache.hadoop.security.UserGroupInformation.getOSLoginModuleName(UserGroupInformation.java:303)
            at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:348)
            at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2590)
            at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2582)
            at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2448)
            at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)
            at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:166)
            at org.apache.accumulo.core.file.FileUtil.getFileSystem(FileUtil.java:550)
            at org.apache.accumulo.server.util.Initialize.main(Initialize.java:485)
            ... 6 more
    Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName
            at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
            at org.apache.accumulo.start.classloader.AccumuloClassLoader$2.loadClass(AccumuloClassLoader.java:241)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
            ... 15 more

Output from ./accumulo classpath command

root@ps-ubuntuhost2:/usr/local/bin/accumulo-1.5.0/bin# ./accumulo classpath
    Level 1: Java System Classloader (loads Java system resources) URL classpath items are:
    file:/usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/dnsns.jar
    file:/usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/sunpkcs11.jar
    file:/usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/zipfs.jar
    file:/usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/pulse-java.jar
    file:/usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/localedata.jar
    file:/usr/lib/x86_64-linux-gnu/jni/libatk-wrapper.so.0.0.18
    file:/usr/share/java/java-atk-wrapper.jar
    file:/usr/lib/jvm/java-7-openjdk-common/jre/lib/ext/sunjce_provider.jar
Level 2: Java Classloader (loads everything defined by java classpath) URL classpath items are:
    file:/usr/local/bin/accumulo-1.5.0/conf/
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-start.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/common/lib/log4j-1.2.17.jar

Level 3: Accumulo Classloader (loads everything defined by general.classpaths) URL classpath items are:
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-server.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-core.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-start.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-fate.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-proxy.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/jcommander.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-examples-simple.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/commons-vfs2.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-fate.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/libthrift.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-proxy.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/jline.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-start.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-test.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-server.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/guava.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-minicluster.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-core.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/log4j-1.2.17.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/gson.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/accumulo-trace.jar
    file:/usr/local/bin/accumulo-1.5.0/lib/commons-logging-1.1.3.jar
    file:/usr/local/bin/zookeeper-3.4.5/zookeeper-3.4.5.jar
    file:/usr/local/bin/hadoop-2.2.0/etc/hadoop/
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0-tests.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/common/hadoop-nfs-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/hadoop-hdfs-nfs-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/hadoop-hdfs-2.2.0-tests.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/hadoop-hdfs-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jsp-api-2.1.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jasper-runtime-5.5.23.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jackson-core-asl-1.8.8.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jetty-6.1.26.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/asm-3.2.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-logging-1.1.1.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/xmlenc-0.52.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-daemon-1.0.13.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-io-2.1.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-el-1.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jsr305-1.3.9.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/servlet-api-2.5.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-codec-1.4.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/protobuf-java-2.5.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-lang-2.5.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jersey-server-1.9.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/guava-11.0.2.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/log4j-1.2.17.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jetty-util-6.1.26.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/netty-3.6.2.Final.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jersey-core-1.9.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/jackson-mapper-asl-1.8.8.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/hdfs/lib/commons-cli-1.2.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-gridmix-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-extras-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-streaming-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-archives-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-datajoin-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-distcp-2.2.0.jar
    file:/usr/local/bin/hadoop-2.2.0/share/hadoop/tools/lib/hadoop-rumen-2.2.0.jar
    file:/usr/local/commons-configuration-1.10/commons-configuration-1.10.jar

>

Any help is appreciated.

Was it helpful?

Solution 2

Make sure you add hadoop core jar in your classpath. You can refer to this for how to Debug a NoClassDefFoundError

OTHER TIPS

It looks like you're missing the common/lib directory (/usr/local/bin/hadoop-2.2.0/share/hadoop/common/lib) on your classpath. The class you're missing is in the hadoop-auth-2.2.0.jar in common/lib. Make sure you have a line similar to "$HADOOP_PREFIX/share/hadoop/common/lib/.*.jar," added to your general.classpaths in the accumulo-site.xml file.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top