nosql:hadoop_connect_from_windows
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
nosql:hadoop_connect_from_windows [2014/08/06 20:03] – gpipperr | nosql:hadoop_connect_from_windows [2014/08/06 21:01] – [Hadoop local mit cygwin auf einen Windows 7 Rechner aufrufen] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | =====HDFS Files remote lesen - Mit MS Windows Clients mit Hadoop arbeiten===== | ||
- | |||
- | |||
- | === HDFS Zugriff über Windows === | ||
- | |||
- | Software Clients: | ||
- | * http:// | ||
- | |||
- | |||
- | === Java Klasse um vom Windows Host auf das HDFS zuzugreifen=== | ||
- | |||
- | |||
- | <code java> | ||
- | package gpi.hadoop; | ||
- | |||
- | /** | ||
- | see main code: | ||
- | https:// | ||
- | */ | ||
- | |||
- | import java.io.*; | ||
- | import org.apache.hadoop.fs.*; | ||
- | import org.apache.hadoop.conf.*; | ||
- | |||
- | public class ReadHDFS { | ||
- | |||
- | public static void main(String[] args) throws Exception { | ||
- | try { | ||
- | // | ||
- | Configuration conf = new Configuration(); | ||
- | Path path = new Path(" | ||
- | | ||
- | //handle to the file | ||
- | FileSystem fs = FileSystem.get(path.toUri(), | ||
- | FSDataInputStream inputStream = fs.open(path); | ||
- | |||
- | //read the file | ||
- | BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); | ||
- | String line; | ||
- | line = br.readLine(); | ||
- | while (line != null) { | ||
- | System.out.println(line); | ||
- | line = br.readLine(); | ||
- | } | ||
- | | ||
- | } catch (Exception e) { | ||
- | System.out.println(e.toString()); | ||
- | } | ||
- | |||
- | } | ||
- | } | ||
- | |||
- | </ | ||
- | |||
- | == Fehler beim ersten Versuch: == | ||
- | < | ||
- | 2014-07-13 13: | ||
- | java.io.IOException: | ||
- | |||
- | </ | ||
- | |||
- | Lösung: | ||
- | |||
- | Hadoop Home Directory setzen: Java Parameter **hadoop.home.dir** wie z.B: " | ||
- | |||
- | **UND** | ||
- | |||
- | Die Libraries für Windows übersetzen siehe => https:// | ||
- | |||
- | |||
- | |||
- | ==== Hadoop local mit cygwin auf einen Windows 7 Rechner aufrufen ==== | ||
- | |||
- | |||
- | Cygwin installieren und Umgebung wie unter Linux in der .bashrc setzen: | ||
- | |||
- | <code bash> | ||
- | |||
- | #Hadoop Home | ||
- | export HADOOP_HOME=/ | ||
- | |||
- | # Avoid Java Lib errros | ||
- | export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/ | ||
- | export HADOOP_OPTS=" | ||
- | |||
- | # Hadoop environment Variables | ||
- | export HADOOP_CONF_DIR=$HADOOP_HOME/ | ||
- | export HADOOP_MAPRED_HOME=$HADOOP_HOME | ||
- | export HADOOP_COMMON_HOME=$HADOOP_HOME | ||
- | |||
- | |||
- | #JAVA | ||
- | export JAVA_HOME=/ | ||
- | |||
- | #fix CLASSPATH | ||
- | export HADOOP_CLASSPATH=$(cygpath -pw $($HADOOP_HOME/ | ||
- | |||
- | |||
- | #Defaults | ||
- | export PATH=$HADOOP_HOME/ | ||
- | |||
- | </ | ||
- | |||
- | Beim ersten Test des ausgepackten Hadoop wird folgender Fehler mit dem Classpath geworfen: | ||
- | |||
- | <code bash> | ||
- | $ ./hadoop version | ||
- | Fehler: Hauptklasse org.apache.hadoop.util.VersionInfo konnte nicht gefunden oder geladen werden | ||
- | </ | ||
- | |||
- | |||
- | Lösung: | ||
- | Umgebung anpassen oder im Script den Aufbau vom Klassenpfad anpassen: | ||
- | <code bash> | ||
- | export HADOOP_CLASSPATH=$(cygpath -pw $($HADOOP_HOME/ | ||
- | </ | ||
nosql/hadoop_connect_from_windows.txt · Zuletzt geändert: 2014/09/24 14:30 von gpipperr