Details
Description
Running "hadoop archive" from a command prompt results in this error:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/tools/HadoopArchives
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.tools.HadoopArchives
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.hadoop.tools.HadoopArchives. Program will exit.
The hadoop front-end script expects the TOOL_PATH environment variable to be set, but nothing provides a default value for it if it is not set. Since $TOOL_PATH expands to nothing, the hadoop-archives jar under share/hadoop/tools/lib isn't found, and we end up with a ClassNotFound exception.