Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

SOLVED Go to solution

SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor

I have just sucessfuly installed accumulo-1.4.3 on cloudera CDH4 QuickStart.

 

Each time I log in to the accumulo shell I get the following warning:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/hadoop/client-0.20/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/hadoop/client-0.20/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

 

The website states:

 


SLF4J warning or error messages and their meanings
The method o.a.commons.logging.impl.SLF4FLogFactory#release was invoked.

Given the structure of the commons-logging API, in particular as implemented by SLF4J, the o.a.commons.logging.impl.SLF4FLogFactory#release() method should never be called. However, depending on the deployment of commons-logging.jar files in your servlet container, release() method may be unexpectedly invoked by a copy of org.apache.commons.logging.LogFactory class shipping with commons-logging.jar.

This is a relatively common occurrence with recent versions of Tomcat, especially if you place jcl-over-slf4j.jar in WEB-INF/lib directory of your web-application instead of $TOMCAT_HOME/common/lib, where $TOMCAT_HOME stands for the directory where Tomcat is installed. In order to fully benefit from the stability offered by jcl-over-slf4j.jar, we recommend that you place jcl-over-slf4j.jar in $TOMCAT_HOME/common/lib without placing a copy in your web-applications.

Please also see bug #22.

 

I don't want to break anything; how do I fix this?

 

thanks,

 

Chris

 

 

4 ACCEPTED SOLUTIONS

Accepted Solutions

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor

Following is my existing accumulo-site.xml:

 

Should I delete the following from it :

 

$ACCUMULO_HOME/src/server/target/classes/,
$ACCUMULO_HOME/src/core/target/classes/,
$ACCUMULO_HOME/src/start/target/classes/,
$ACCUMULO_HOME/src/examples/target/classes/,

 

to modify it from:

 

<name>general.classpaths</name>
<value>
$ACCUMULO_HOME/src/server/target/classes/,
$ACCUMULO_HOME/src/core/target/classes/,
$ACCUMULO_HOME/src/start/target/classes/,
$ACCUMULO_HOME/src/examples/target/classes/,
$ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar,
$ACCUMULO_HOME/lib/[^.].*.jar,
$ZOOKEEPER_HOME/zookeeper[^.].*.jar,
$HADOOP_CONF_DIR,
$HADOOP_CLIENT_HOME/[^.].*.jar,
$HADOOP_MAPRED_HOME/[^.].*.jar,
$HADOOP_MAPRED_HOME/lib/[^.].*.jar,
</value>

 

to :

 

 <property>
      <name>general.classpaths</name>
      <value>
	  $ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar,
	  $ACCUMULO_HOME/lib/[^.].*.jar,
	  $ZOOKEEPER_HOME/zookeeper[^.].*-[0-9].*.jar,
	  $HADOOP_CONF_DIR,
	  $HADOOP_CLIENT_HOME/[^.].*-[0-9].*.jar,
          $HADOOP_MAPRED_HOME/[^.].*-[0-9].*.jar,
	  $HADOOP_MAPRED_HOME/lib/[^.].*.jar,
      </value>
    </property>

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor

Hi Sean,

 

I modified the 

 

I got this message that I believe may have been causes by the attmpted solution in the other thread:

 

[accumulo@localhost bin]$ ./start-all.sh
Starting tablet servers and loggers .... done
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Starting logger on localhost.localdomain
Starting master on localhost.localdomain
Starting tablet server on localhost.localdomain
Starting garbage collector on localhost.localdomain
Starting monitor on localhost.localdomain
Starting tracer on localhost.localdomain
[accumulo@localhost bin]$ ./start-all.sh
Starting tablet servers and loggers .... done
Starting tablet server on localhost.localdomain
Starting logger on localhost.localdomain
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Starting master on localhost.localdomain
Starting garbage collector on localhost.localdomain
Starting monitor on localhost.localdomain
Starting tracer on localhost.localdomain
[accumulo@localhost bin]$ ls
accumulo etc_initd_accumulo start-here.sh stop-here.sh tool.sh
check-slaves LogForwarder.sh start-server.sh stop-server.sh tup.sh
config.sh start-all.sh stop-all.sh tdown.sh
[accumulo@localhost bin]$ ./stop-all.sh
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Invalid password or unable to connect to the master
Press Ctrl-C to cancel now, or force shutdown in 15 seconds
Utilities and unresponsive servers will be shut down in 5 seconds
stopping unresponsive tablet servers (if any) ...
stopping unresponsive tablet servers hard (if any) ...
Cleaning tablet server and logger entries from zookeeper
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Cleaning all server entries in zookeeper
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.

 

So I can't confirm if its fixed. Regrets, Chris

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Expert Contributor

Hi Chris!

 

Can you restore your Accumulo installation to pristine and then test?

 

You should generally try to isolate things so that you can test one issue at a time. One way I do this is to take a snapshot of the VM after I verify any particular major change (i.e. finishing the installation instructions for Accumulo on the QuickStart VM).

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor
I will do that 1st thing tomorrow ... Thank Josh.

8 REPLIES 8

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Expert Contributor

In this case, the warning is benign. It's caused by the inclusion of a symlink from a versionless file name to a versioned file name in the CDH4 hadoop client directory. Since they point to the same jar, you can safely ignore them.

 

You can confirm this by doing a long listing on the directory mentioned in the error message:

 

[accumulo@localhost accumulo]$ ls -lah /usr/lib/hadoop/client-0.20/slf4j-log4j*
lrwxrwxrwx. 1 root root 43 Oct 7 08:33 /usr/lib/hadoop/client-0.20/slf4j-log4j12-1.6.1.jar -> /usr/lib/hadoop/lib/slf4j-log4j12-1.6.1.jar
lrwxrwxrwx. 1 root root 43 Oct 7 08:33 /usr/lib/hadoop/client-0.20/slf4j-log4j12.jar -> /usr/lib/hadoop/lib/slf4j-log4j12-1.6.1.jar
[accumulo@localhost accumulo]$

 

You can clear up the warning by modifying your accumulo-site.xml to use a regex in general.classpaths that will only match files with version numbers in the name:

 

    <property>
      <name>general.classpaths</name>
      <value>
	  $ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar,
	  $ACCUMULO_HOME/lib/[^.].*.jar,
	  $ZOOKEEPER_HOME/zookeeper[^.].*-[0-9].*.jar,
	  $HADOOP_CONF_DIR,
	  $HADOOP_CLIENT_HOME/[^.].*-[0-9].*.jar,
          $HADOOP_MAPRED_HOME/[^.].*-[0-9].*.jar,
	  $HADOOP_MAPRED_HOME/lib/[^.].*.jar,
      </value>
    </property>

 

Note in particular, the addition of "-[0-9].*" to the regex for matching jars in the hadoop client directory. It may help to view this change in the larger context of configuration files for working with the quickstart VM.

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor

Following is my existing accumulo-site.xml:

 

Should I delete the following from it :

 

$ACCUMULO_HOME/src/server/target/classes/,
$ACCUMULO_HOME/src/core/target/classes/,
$ACCUMULO_HOME/src/start/target/classes/,
$ACCUMULO_HOME/src/examples/target/classes/,

 

to modify it from:

 

<name>general.classpaths</name>
<value>
$ACCUMULO_HOME/src/server/target/classes/,
$ACCUMULO_HOME/src/core/target/classes/,
$ACCUMULO_HOME/src/start/target/classes/,
$ACCUMULO_HOME/src/examples/target/classes/,
$ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar,
$ACCUMULO_HOME/lib/[^.].*.jar,
$ZOOKEEPER_HOME/zookeeper[^.].*.jar,
$HADOOP_CONF_DIR,
$HADOOP_CLIENT_HOME/[^.].*.jar,
$HADOOP_MAPRED_HOME/[^.].*.jar,
$HADOOP_MAPRED_HOME/lib/[^.].*.jar,
</value>

 

to :

 

 <property>
      <name>general.classpaths</name>
      <value>
	  $ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar,
	  $ACCUMULO_HOME/lib/[^.].*.jar,
	  $ZOOKEEPER_HOME/zookeeper[^.].*-[0-9].*.jar,
	  $HADOOP_CONF_DIR,
	  $HADOOP_CLIENT_HOME/[^.].*-[0-9].*.jar,
          $HADOOP_MAPRED_HOME/[^.].*-[0-9].*.jar,
	  $HADOOP_MAPRED_HOME/lib/[^.].*.jar,
      </value>
    </property>

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Expert Contributor

Yes. Those entries are so you can test changes to the Accumulo code by recompiling and restarting Accumulo (i.e. skipping the step of building jars and deploying them).

 

I generally recommend never including those paths in Accumulo's classpath because

  1. They should never be present in a production deployment and it's a bad idea to intentionally introduce differences between dev and production (in this case being packaged in jars)
  2. The main code base doesn't build unless you use the package goal anyways, so you'll already have jars ready to go
  3. If you are building directly within your Accumulo installation (which you should not do), the default package goal will give you your changes loaded upon restart just as easily, because the package goal will have put the repackaged Accumulo jars into the lib directory.

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor

Hi Sean,

 

I modified the 

 

I got this message that I believe may have been causes by the attmpted solution in the other thread:

 

[accumulo@localhost bin]$ ./start-all.sh
Starting tablet servers and loggers .... done
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Starting logger on localhost.localdomain
Starting master on localhost.localdomain
Starting tablet server on localhost.localdomain
Starting garbage collector on localhost.localdomain
Starting monitor on localhost.localdomain
Starting tracer on localhost.localdomain
[accumulo@localhost bin]$ ./start-all.sh
Starting tablet servers and loggers .... done
Starting tablet server on localhost.localdomain
Starting logger on localhost.localdomain
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Starting master on localhost.localdomain
Starting garbage collector on localhost.localdomain
Starting monitor on localhost.localdomain
Starting tracer on localhost.localdomain
[accumulo@localhost bin]$ ls
accumulo etc_initd_accumulo start-here.sh stop-here.sh tool.sh
check-slaves LogForwarder.sh start-server.sh stop-server.sh tup.sh
config.sh start-all.sh stop-all.sh tdown.sh
[accumulo@localhost bin]$ ./stop-all.sh
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Invalid password or unable to connect to the master
Press Ctrl-C to cancel now, or force shutdown in 15 seconds
Utilities and unresponsive servers will be shut down in 5 seconds
stopping unresponsive tablet servers (if any) ...
stopping unresponsive tablet servers hard (if any) ...
Cleaning tablet server and logger entries from zookeeper
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.
Cleaning all server entries in zookeeper
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Platform
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Platform
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Platform. Program will exit.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/start/Main
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.start.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.accumulo.start.Main. Program will exit.

 

So I can't confirm if its fixed. Regrets, Chris

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Expert Contributor

Hi Chris!

 

Can you restore your Accumulo installation to pristine and then test?

 

You should generally try to isolate things so that you can test one issue at a time. One way I do this is to take a snapshot of the VM after I verify any particular major change (i.e. finishing the installation instructions for Accumulo on the QuickStart VM).

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Contributor
I will do that 1st thing tomorrow ... Thank Josh.

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

New Contributor

I am getting this error while running MapReduce program on Cloudera VM:

 

SLF4J: Falild to load class "org.slf4j.impl.StaticLoggerBinder".

Defaulting to no-operation (NOP) logger implementation.

Unable to load native-hadoop library for your platform.

 

Can someone help me to fix this.

Highlighted

Re: SLF4J bindings Warning logging accumulo shell on Cloudera QuickStart VM

Expert Contributor

Please open a new discussion thread for your issue. Older solved threads are unlikely to receive an appropriate amount of attention.

 

I'd recommend you post your MapReduce issue over in the batch processing forum. Be sure to include you version of CDH, a complete stack trace, and the command you used to launch the job.