HDFS-FUSE lets you to mount a HDFS in userspace.
on Linux 2.6:
FUSE:
# sudo apt-get install fuse fuse-libs fuse-devel (Debian/Ubuntu)
Hadoop: $ tar xvzf hadoop-0.18.1.tar.gz $ cd xvzf hadoop-0.18.1/bin (for Pseudo-Distributed mode) $ ./hadoop namenode -format $ ./start-all.sh (Java Runtime Environment is needed to run Hadoop, see Hadoop's reference)
HDFS-FUSE:
$ tar xvzf hdfs-fuse.
(To mount)
$ export JAVA_HOME=<your-java-installation-directory>
$ export HADOOP_HOME=<your-hadoop-installation-directory>
$ export FUSE_HOME=<your-fuse-installation-directory>
$ export HDFS-FUSE_HOME=<the-current-directory>
$ export HDFS-FUSE_CONF=<the-current-directory>/conf
$ ./hdfs-mount <your-mount-point>
(To umount)
$ fusermount -u <your-mount-point>
The current implementation of HDFS-FUSE only supported a limited set of filesystem feature.
Supported operation:
getattr()
mkdir()
rmdir()
unlink()
rename()
truncate()
open()
read()
write()
statfs()
flush()
release()
readdir()
init()
destroy()
access()
create()
ftruncate()
fgetattr()
Fake implementation:
chmod()
chown()
utime()
setxattr()
getxattr()
listxattr()
removexattr()
Not supported:
readlink()
mknod()
symlink()
link()
fsync()
opendir()
fsyncdir()
lock()
bmap()
Future roadmap plan:
More feature implementation with Hadoop trunk release
If you have any question or comment, feel free to send email to jass.zhao@gmail.com