Benutzer-Werkzeuge

Webseiten-Werkzeuge


nosql:hadoop_connect_hdfs_fuse

Hadoop HDFS mit Apache Fuse als "normales" Filesystem mounten

Mit dem 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://<name_node_hostname>:<namenode_port> <mount_point>" 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

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
nosql/hadoop_connect_hdfs_fuse.txt · Zuletzt geändert: 2014/09/13 11:05 von gpipperr