/hdfs-fuse

Automatically exported from code.google.com/p/hdfs-fuse

Primary LanguageC

============
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.<ARCH>.tar.gz
    $ cd hdfs-fuse.<ARCH>/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>