Skip to content

Instantly share code, notes, and snippets.

@qiaohaijun
Last active January 6, 2016 10:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qiaohaijun/983f9cc2855329e7119e to your computer and use it in GitHub Desktop.
Save qiaohaijun/983f9cc2855329e7119e to your computer and use it in GitHub Desktop.

有一点需要注意的是不要讲libjvm.so libjava.so 这类so拷贝到本地,如果没有,就用LD_LIBRARY_PATH


[@rsync.gpu01.research.nm.nop.sogou-op.org cpp]# ./test_hdfs 
loadFileSystems error:
java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FileSystem
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FileSystem
	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:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
hdfsBuilderConnect(forceNewInstance=0, nn=192.168.1.8, port=9000, kerbTicketCachePath=(NULL), userName=(NULL)) error:
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
	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:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
hdfsOpenFile(/tmp/testfile.txt): constructNewObjectOfPath error:
java.lang.NoClassDefFoundError: org/apache/hadoop/fs/Path
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.Path
	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:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
Failed to open /tmp/testfile.txt for writing!

org/apache/hadoop/fs/FileSystem

export CLASSPATH=$CLASSPATH:/usr/lib/hadoop/hadoop-common-2.5.0-cdh5.3.2.jar
[@rsync.gpu01.research.nm.nop.sogou-op.org cpp]# ./test_hdfs 
loadFileSystems error:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
	at org.apache.hadoop.fs.FileSystem.<clinit>(FileSystem.java:97)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
	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:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	... 1 more
hdfsBuilderConnect(forceNewInstance=0, nn=192.168.1.8, port=9000, kerbTicketCachePath=(NULL), userName=(NULL)) error:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
	at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:172)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
	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:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	... 1 more
hdfsOpenFile(/tmp/testfile.txt): FileSystem#getConf error:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.fs.FileSystem
Failed to open /tmp/testfile.txt for writing!

org/apache/commons/logging/LogFactory

 export CLASSPATH=$CLASSPATH:/usr/share/maven/lib/commons-logging.jar
@qiaohaijun
Copy link
Author

/usr/lib/hadoop/client/guava.jar 这个是关键 commons-xx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment