Ich versuche, das einfache WordCount.java-Programm mithilfe von Hadoop MapReduce mithilfe des Befehls: hadoop com.sun.tools.javac zu kompilieren. Haupt WordCount.javaHadoop-Kompilierungsfehler: Hauptklasse konnte nicht gefunden oder geladen werden com.sun.tools.javac.Main
Aber ich erhalte immer die Meldung „Fehler: konnte keine Hauptklasse com.sun.tools.javac.Main finden oder laden“
Meine Exporte sind wie folgt:
export JAVA_HOME=/Library/Java/JavaVirtualMachine/jdk1.8.0_101.jdk/Contents/Home
export HADOOP_HOME=/usr/local/Cellar/hadoop/2.7.1
export HADOOP_PREFIX=$HADOOP_HOME/libexec
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export YARN_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX
export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
Ich habe mein JAVA_HOME/lib-Verzeichnis überprüft und bestätigt, dass die Datei tools.jar vorhanden ist.
Meine anderen Haddop-Funktionen scheinen ordnungsgemäß zu funktionieren. Ich kann "Hadoop-Version" ausführen und es gibt meine Hadoop-Versionsnummer zurück. Ich kann "hdfs dfs -ls" ausführen und es gibt die Auflistung meines hdfs-Verzeichnisses zurück.
Jede Hilfe in herauszufinden, warum ich nicht stark
geschätzt wäre kompilieren
Ist Ihr Pfad zu Java richtig? überprüfen Sie es mit dem Java-Versionsbefehl "java -version" – Mahek