====Hadoop HDFS mit Apache Fuse als "normales" Filesystem mounten=====
Mit dem [[http://fuse.sourceforge.net/|Fuse]] Projekt lässt sich ein Hadoop HDFS als normales Filesystem mounten.
=== Installation ===
**Voraussetzung:**\\
Installierter Hadoop Client mit einer vollständigen Konfiguration um auf dem Cluster zuzugreifen.
\\
Passendes Packet kann hier gefunden werden: http://pkgs.repoforge.org/fuse/
\\
Bei Cloudera ist es bereits dabei:
#als root
yum install hadoop-hdfs-fuse.x86_6
=== Mounten ===
Mit dem Befehl "hadoop-fuse-dfs dfs://: " läßt sich das HDFS an die Maschine mounten.
cat
# als root
# Konfiguration auslesen
cat /etc/hadoop/conf/core-site.xml
# Mounten
hadoop-fuse-dfs hdfs://quickstart.cloudera:8020 /fuse/
===Test ===
Der Test findet auf einer Cloudera VM mit relativ wenig Daten statt.
#Daten:
du . -h
150MB
#
#Kopieren mit "cp"
#
time cp *.* /fuse/user/gpipperr/
real 0m34.698s
user 0m0.017s
sys 0m0.771s
#
#Kopieren mit hdfs dfs
#
time hdfs dfs -put *.* /user/gpipperr/
real 0m20.413s
user 0m9.473s
sys 0m3.751s
Damit ist "hdfs dfs" um ein gutes Drittel schneller beim Laden von Daten.
Auch fällt auf das "ls" auf das mit fuse gemounteten Verzeichnis deutlich schneller (real 0m0.107s) ist als ein "hdfs dfs -ls" (real 0m3.410s) ist. Vermutlich benötigt "hdfs dfs" relativ lang um überhaupt zu starten.
==== Quellen ====
* https://wiki.apache.org/hadoop/MountableHDFS