2015-03-25 15 views
7

Próbuję nauczyć się MapReduce, ale teraz jestem trochę zagubiony.Nie można znaleźć lub wczytać głównej klasy 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

Szczególnie ten zestaw instrukcji:

Compile WordCount.java and create a jar: 

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

Po wpisaniu w hadoop w moim terminalu jestem w stanie zobaczyć „Pomoc” made który dostarcza argumentów, więc wierzę, mam zainstalowane Hadoop .

Kiedy wpisać komendę:

kompilacji WordCount.java i utworzyć słoik:

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

I pojawia się błąd:

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

wiem mieć zainstalowaną Javę i pracować na moim komputerze, ponieważ użyłem jej wcześniej, aby tworzyć inne programy.

To polecenie wyjścia:

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

Może brakuje mi zestaw narzędzi Java? Nie jestem pewien

+1

to Twój Wordcount.java znajduje się w katalogu bin/hadoop. –

+0

czy jesteś w stanie go uruchomić. –

+0

Możliwy duplikat [Java: com.sun.tools.javac.Nie znaleziono podczas próby kompilacji programu Hadoop] (https://stackoverflow.com/questions/27299273/java-com-sun-tools-javac-main- nie-znaleziony-kiedy-próbuje-skompilować-program-hadoop) – Vadzim

Odpowiedz

15

Mam ten sam błąd.

I Rozwiązałem go Dodaj parametr środowiska HADOOP_CLASSPATH:

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

proszę upewnić się, że zainstalowane OpenJDK7. Używam Ubuntu 14.04:

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

Tak jak zostało pierwotnie powiedziane w dokumentacji (samouczek): https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop- mapreduce-client-core/MapReduceTutorial.html – PALEN

2

Nie możesz zainstalować jdk. Sprawdź /lib/tools.jar w swoim folderze java.
Jeśli nie, #sudo apt-get install default-jdk i błąd zniknie.

2

Urządzenie bin/hadoop com.sun.tools.javac.Main WordCount.java działa już jako java com.sun.tools.javac.Main WordCount.java.

Jeśli ścieżka klas/javahome ma rację, spróbuj wpisać samodzielnie java ... i sprawdź nazwę com.sun.tools... za pomocą klawisza TAB. Może nazwa nie jest właściwa. (jajeczko używasz java od Oracle zamiast SUN)

Kolejną sugestią jest modyfikacja $HADOOP_HOME/etc/hadoop/hadoop-env.sh. Dodaj tools.jar do HADOOP_CLASSPATH.

+0

Dziękujemy! To działało dla mnie. –

Powiązane problemy