Ich versuche MapReduce zu lernen, aber ich bin jetzt ein wenig verloren.
Besonders diese Anleitung:
%Vor% Wenn ich in meinem Terminal hadoop
eintippe, kann ich die "Hilfe" sehen, die Argumente liefert, also glaube ich, dass ich hadoop installiert habe.
Wenn ich den Befehl eintippe:
Kompilieren Sie WordCount.java und erstellen Sie ein jar:
hadoop com.sun.tools.javac.Main WordCount.java
Ich bekomme den Fehler:
Error: Could not find or load main class com.sun.tools.javac.Main
Ich weiß, dass ich Java installiert habe und an meinem Computer arbeite, weil ich es vorher benutzt habe, um andere Programme zu erstellen.
Dieser Befehl gibt Folgendes aus:
%Vor%Vielleicht fehlt mir eine Reihe von Java-Tools? Nicht sicher
Ich habe denselben Fehler bekommen.
Und ich habe es gelöst, indem ich den Umgebungsparameter HADOOP_CLASSPATH hinzugefügt habe:
%Vor%Bitte stellen Sie sicher, dass Sie OpenJDK7 installiert haben. Ich benutze Ubuntu 14.04:
%Vor% Das bin/hadoop com.sun.tools.javac.Main WordCount.java
läuft als letztes
java com.sun.tools.javac.Main WordCount.java
.
Wenn Ihr classpath / javahome richtig ist, dann geben Sie java ...
selbst ein und überprüfen Sie den Namen com.sun.tools...
mit dem TAB-Schlüssel. Vielleicht ist der Name nicht richtig. (Ei. Sie verwenden Java von Oracle statt SUN)
Ein weiterer Vorschlag ist die Änderung von $HADOOP_HOME/etc/hadoop/hadoop-env.sh
. Fügen Sie tools.jar
in HADOOP_CLASSPATH
hinzu.