我已经在笔记本电脑上安装了 Hadoop,并成功运行了安装指南中给出的示例程序。但是,我无法运行程序。
rohit@renaissance1:~/hadoop/ch2$ hadoop MaxTemperature input/ncdc/sample.txt output
Exception in thread "main" java.lang.NoClassDefFoundError: MaxTemperature
Caused by: java.lang.ClassNotFoundException: MaxTemperature
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: MaxTemperature. Program will exit.
书上说我们应该通过编写来设置Hadoop Classpath
rohit@renaissance1:~/hadoop/ch2$ export HADOOP_CLASSPATH=build/classes
主类在我正在执行的 MaxTemperature.java 文件中定义。我们如何设置 Hadoop 类路径?我们必须在所有程序执行时都执行此操作还是只执行一次?我应该把输入文件夹放在哪里。我的代码位于 /home/rohit/hadoop/ch2,我的 Hadoop 安装位于 /home/hadoop。
您应该将应用程序打包到 JAR 文件中,这比摆弄类路径文件夹更容易且更不容易出错。
对于您的情况,您还必须编译 .java 文件。你说的是MaxTemparature.java,但是还必须有一个MaxTemperature.class才可以运行它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)