私は私のラップトップに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クラスパスを設定するべきだと言った
rohit@renaissance1:~/hadoop/ch2$ export HADOOP_CLASSPATH=build/classes
_
メインクラスは、実行しているMaxTemperature.javaファイルで定義されています。 Hadoopクラスパスをどのように設定しますか?私たちはすべてのプログラムの実行のためにそれをしなければなりませんか、それとも一度だけ?入力フォルダをどこに置くべきですか。私のコードは/ home/rohit/hadoop/ch2にあり、私のHadoopのインストールは/ home/hadoopです。
クラスをJARファイルにした後:
hadoop jar MaxTemperature.jar MaxTemperature
_
基本的に:
hadoop jar jarfile main [args]
_