pedros / hdfs-fuse

Automatically exported from code.google.com/p/hdfs-fuse
2 stars 1 forks source link

============ HDFS-FUSE

HDFS-FUSE lets you to mount a HDFS in userspace.

=========== How to use

on Linux 2.6:

FUSE:

yum install fuse fuse-libs fuse-devel (Redhat/SuSE)

# 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..tar.gz $ cd hdfs-fuse./conf (modify hdfs-fuse.conf for your Hadoop cluster) $ cd ../bin

(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>

============ Notes

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   

====================== Questions / Bug report

If you have any question or comment, feel free to send email to jass.zhao@gmail.com