2015-03-25 38 views
7

Sto cercando di imparare MapReduce ma sono un po 'perso in questo momento.Impossibile trovare o caricare la classe principale com.sun.tools.javac.Main hadoop mapreduce

http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Usage

In particolare questo set di istruzioni:

Compile WordCount.java and create a jar: 

$ bin/hadoop com.sun.tools.javac.Main WordCount.java 

Quando digito hadoop nel mio terminale sono in grado di vedere la "Guida" fatto che fornisce argomenti così credo di aver installato Hadoop .

Quando digito il comando:

Compile WordCount.java e creare un vaso:

hadoop com.sun.tools.javac.Main WordCount.java

ottengo l'errore:

Error: Could not find or load main class com.sun.tools.javac.Main

So avere Java installato e funzionante sul mio computer perché l'ho usato prima per creare altri programmi.

Questo uscite di comando:

$ /usr/libexec/java_home 
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home 

Forse mi manca un set di strumenti Java? Non sicuro

+1

è il tuo Wordcount.java è nella directory bin/hadoop. –

+0

sei in grado di eseguirlo. –

+0

Possibile duplicato di [Java: com.sun.tools.javac.Main non trovato durante il tentativo di compilare il programma Hadoop] (https://stackoverflow.com/questions/27299273/java-com-sun-tools-javac-main- programma-non-trovato-quando-provare-a-compilare-hadoop) – Vadzim

risposta

15

Ho ricevuto lo stesso errore.

E ho risolto da Add parametro di ambiente HADOOP_CLASSPATH:

export HADOOP_CLASSPATH=/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar 

Assicurarsi che si è installato OpenJDK7. Sto usando Ubuntu 14.04:

sudo apt-get install openjdk-7-jdk 
+0

Come è stato originariamente dichiarato nella documentazione (tutorial): https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop- mapreduce-client-core/MapReduceTutorial.html – PALEN

2

Non è possibile installare jdk. Controlla il tuo /lib/tools.jar nella tua cartella java.
In caso contrario, #sudo apt-get install default-jdk e l'errore scompare.

2

Il bin/hadoop com.sun.tools.javac.Main WordCount.java è in esecuzione come java com.sun.tools.javac.Main WordCount.java.

Se classpath/javahome è corretto, provare a digitare java ... e controllare il nome com.sun.tools... utilizzando il tasto TAB. Forse il nome non è corretto. (uovo, si sta utilizzando java da Oracle anziché da SUN)

Un altro suggerimento è la modifica di $HADOOP_HOME/etc/hadoop/hadoop-env.sh. Aggiungi lo tools.jar allo HADOOP_CLASSPATH.

+0

Grazie! Questo ha funzionato per me. –

Problemi correlati