Hadoop HADOOP_CLASSPATH Fragen

Diese Frage bezieht sich nicht auf die Verteilung jar-Dateien in das gesamte cluster für die Arbeiter zu verwenden.

Er bezieht sich auf die Angabe einer Anzahl von zusätzlichen Bibliotheken die auf der client-Maschine. Um genauer zu sein: ich versuche, führen Sie den folgenden Befehl, um den Inhalt einer SequenceFile:

   /path/to/hadoop/script fs -text /path/in/HDFS/to/my/file

Wirft er mir diese Fehlermeldung: text: java.io.IOException: WritableName can't load class: util.io.DoubleArrayWritable

Habe ich einen beschreibbaren Klasse namens DoubleArrayWritable. In der Tat , auf einem anderen computer funktioniert alles gut.

Ich versucht, die HADOOP_CLASSPATH enthalten die jar mit der Klasse, aber keine Ergebnisse. Eigentlich, wenn Sie ausführen:

   /path/to/hadoop/script classpath 

Dem Ergebnis nicht enthalten die jar-Datei die ich Hinzugefügt HADOOP_CLASSPATH.

Die Frage ist: wie geben Sie zusätzliche Bibliotheken beim ausführen von hadoop (durch die zusätzliche Bedeutung, die anderen Bibliotheken als diejenigen, die die hadoop-Skript enthält automatisch in den Klassenpfad)

Einige weitere Infos die vielleicht helfen:

  • Kann ich nicht ändern hadoop.sh Skript (und alle zugehörigen Skripte)
  • Ich kann nicht kopieren", "meine Bibliothek" in das /lib-Verzeichnis unter der hadoop-installation directory
  • In der hadoop-env.sh das von der hadoop.sh es ist diese Zeile: export HADOOP_CLASSPATH=$HADOOP_HOME/lib was wahrscheinlich erklärt, warum meine HADOOP_CLASSPATH env var ignoriert.
InformationsquelleAutor Razvan | 2012-10-17
Schreibe einen Kommentar