Issue Details (XML | Word | Printable)

Key: HADOOP-4
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Pete Wyckoff
Reporter: John Xing
Votes: 4
Watchers: 9
Operations

If you were logged in you would be able to see more operations.
Hadoop Common

tool to mount dfs on linux

Created: 05/Feb/06 03:55 AM   Updated: 08/Jul/09 05:05 PM
Return to search
Component/s: None
Affects Version/s: None
Fix Version/s: 0.18.0

Time Tracking:
Not Specified

File Attachments:
  Size
GZip Archive Licensed for inclusion in ASF works fuse-dfs.tar.gz 2008-02-21 12:57 AM Pete Wyckoff 172 kB
GZip Archive Licensed for inclusion in ASF works fuse-dfs.tar.gz 2008-02-21 12:40 AM Pete Wyckoff 112 kB
GZip Archive Licensed for inclusion in ASF works fuse-dfs.tar.gz 2008-02-08 10:42 PM Pete Wyckoff 112 kB
GZip Archive Licensed for inclusion in ASF works fuse-dfs.tar.gz 2008-02-07 10:12 PM Pete Wyckoff 5 kB
GZip Archive Licensed for inclusion in ASF works fuse-dfs.tar.gz 2007-12-13 11:00 PM Pete Wyckoff 5 kB
GZip Archive Licensed for inclusion in ASF works fuse-hadoop-0.1.0_fuse-j.2.2.3_hadoop.0.5.0.tar.gz 2006-08-17 05:35 PM Nguyen Quoc Mai 27 kB
GZip Archive Licensed for inclusion in ASF works fuse-hadoop-0.1.0_fuse-j.2.4_hadoop.0.5.0.tar.gz 2006-08-17 05:36 PM Nguyen Quoc Mai 27 kB
GZip Archive Licensed for inclusion in ASF works fuse-hadoop-0.1.1.tar.gz 2006-02-05 04:06 AM John Xing 5 kB
GZip Archive Licensed for inclusion in ASF works fuse-j-hadoopfs-03.tar.gz 2007-12-12 07:31 PM Anurag Sharma 11 kB
File Licensed for inclusion in ASF works fuse_dfs.c 2008-03-19 06:38 PM Craig Macdonald 25 kB
Text File Licensed for inclusion in ASF works fuse_dfs.c 2008-02-21 12:25 AM Pete Wyckoff 23 kB
Text File Licensed for inclusion in ASF works fuse_dfs.c 2008-02-20 11:13 PM Pete Wyckoff 23 kB
Text File Licensed for inclusion in ASF works fuse_dfs.c 2008-01-24 07:24 PM Pete Wyckoff 23 kB
Text File Licensed for inclusion in ASF works fuse_dfs.c 2007-12-11 12:00 AM Pete Wyckoff 16 kB
File Licensed for inclusion in ASF works fuse_dfs.sh 2008-02-20 02:52 PM Craig Macdonald 0.6 kB
GZip Archive Licensed for inclusion in ASF works fuse_dfs.tar.gz 2008-04-10 11:44 PM Pete Wyckoff 21 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-05-06 11:15 PM Doug Cutting 65 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-05-06 12:58 AM Pete Wyckoff 64 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-05-05 11:33 PM Pete Wyckoff 63 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-05-05 11:32 PM Pete Wyckoff 63 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-05-02 09:48 PM Doug Cutting 95 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-04-29 09:26 PM Doug Cutting 95 kB
Text File Licensed for inclusion in ASF works HADOOP-4.patch 2008-04-29 09:24 PM Doug Cutting 95 kB
File Makefile 2008-01-28 06:31 PM Sami Siren 0.2 kB
Text File Licensed for inclusion in ASF works patch.txt 2008-04-15 06:47 PM Pete Wyckoff 61 kB
Text File Licensed for inclusion in ASF works patch.txt 2008-04-11 12:54 AM Pete Wyckoff 80 kB
Text File Licensed for inclusion in ASF works patch2.txt 2008-04-17 11:37 PM Pete Wyckoff 61 kB
Text File Licensed for inclusion in ASF works patch3.txt 2008-04-26 01:47 AM Pete Wyckoff 97 kB
Text File Licensed for inclusion in ASF works patch4.txt 2008-04-30 12:52 AM Pete Wyckoff 94 kB
Text File Licensed for inclusion in ASF works patch4.txt 2008-04-29 05:38 PM Pete Wyckoff 94 kB
Text File Licensed for inclusion in ASF works patch4.txt 2008-04-28 07:00 PM Pete Wyckoff 94 kB
Text File Licensed for inclusion in ASF works patch5.txt 2008-05-01 06:36 PM Pete Wyckoff 94 kB
Text File Licensed for inclusion in ASF works patch6.txt 2008-05-20 09:09 PM Pete Wyckoff 94 kB
Text File Licensed for inclusion in ASF works patch6.txt 2008-05-01 09:47 PM Pete Wyckoff 94 kB
Environment:
OSs that support FUSE. Includes Linux, MacOSx, OpenSolaris... http://fuse.sourceforge.net/wiki/index.php/OperatingSystems
Issue Links:
Duplicate
 

Release Note:
Introduced FUSE module for HDFS. Module allows mount of HDFS as a Unix filesystem, and optionally the export of that mount point to other machines. Writes are disabled. rmdir, mv, mkdir, rm are supported, but not cp, touch, and the like. Usage information is attached to the Jira record.

Resolution Date: 29/May/08 08:18 PM


 Description  « Hide
This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ..., but actual writes require: https://issues.apache.org/jira/browse/HADOOP-3485

For the most up-to-date documentation, see: http://wiki.apache.org/hadoop/MountableHDFS

BUILDING:

Requirements:

1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
compile it yourself and then modprobe it. Better off with the
former option if possible. (Note for now if you use the kernel
with fuse included, it doesn't allow you to export this through NFS
so be warned. See the FUSE email list for more about this.)

2. FUSE should be installed in /usr/local or FUSE_HOME ant
environment variable

To build:

1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1 -Dlibhdfs=1

NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------

DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
need to probably add this to /sbin and then problems finding the
above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

/mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel

  • e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
    --------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
John Xing made changes - 05/Feb/06 04:06 AM
Field Original Value New Value
Attachment fuse-hadoop-0.1.1.tar.gz [ 12322643 ]
Doug Cutting made changes - 07/Feb/06 03:54 AM
Component/s fs [ 12310689 ]
Doug Cutting made changes - 07/Feb/06 04:18 AM
Link This issue is duplicated by HADOOP-17 [ HADOOP-17 ]
Doug Cutting made changes - 06/Jun/06 06:16 AM
Workflow jira [ 12346653 ] no reopen closed [ 12372881 ]
Doug Cutting made changes - 07/Jun/06 04:37 AM
Workflow no reopen closed [ 12372881 ] no-reopen-closed [ 12373213 ]
Doug Cutting made changes - 03/Aug/06 05:45 PM
Workflow no-reopen-closed [ 12373213 ] no-reopen-closed, patch-avail [ 12377419 ]
Nguyen Quoc Mai made changes - 17/Aug/06 05:35 PM
Nguyen Quoc Mai made changes - 17/Aug/06 05:36 PM
Nguyen Quoc Mai made changes - 17/Aug/06 05:39 PM
Affects Version/s 0.5.0 [ 12311939 ]
Status Open [ 1 ] Patch Available [ 10002 ]
Doug Cutting made changes - 03/Nov/06 07:29 PM
Status Patch Available [ 10002 ] Open [ 1 ]
Doug Cutting made changes - 15/Dec/06 09:52 PM
Assignee Doug Cutting [ cutting ]
Anurag Sharma made changes - 03/Dec/07 07:49 PM
Attachment fuse-j-patch.zip [ 12370868 ]
Attachment fuse-j-hadoopfs-0.1.zip [ 12370867 ]
Anurag Sharma made changes - 05/Dec/07 10:44 PM
Attachment fuse-j-patch.zip [ 12370868 ]
Pete Wyckoff made changes - 11/Dec/07 12:00 AM
Attachment fuse_dfs.c [ 12371393 ]
Anurag Sharma made changes - 12/Dec/07 07:30 PM
Attachment fuse-j-hadoopfs-0.1.zip [ 12370867 ]
Anurag Sharma made changes - 12/Dec/07 07:31 PM
Attachment fuse-j-hadoopfs-03.tar.gz [ 12371549 ]
Pete Wyckoff made changes - 13/Dec/07 11:00 PM
Attachment fuse-dfs.tar.gz [ 12371630 ]
Pete Wyckoff made changes - 24/Jan/08 07:24 PM
Attachment fuse_dfs.c [ 12373953 ]
Sami Siren made changes - 28/Jan/08 06:31 PM
Attachment Makefile [ 12374201 ]
Pete Wyckoff made changes - 07/Feb/08 10:12 PM
Attachment fuse-dfs.tar.gz [ 12375023 ]
Pete Wyckoff made changes - 08/Feb/08 10:42 PM
Attachment fuse-dfs.tar.gz [ 12375113 ]
Craig Macdonald made changes - 20/Feb/08 02:52 PM
Attachment fuse_dfs.sh [ 12376027 ]
Pete Wyckoff made changes - 20/Feb/08 11:13 PM
Attachment fuse_dfs.c [ 12376068 ]
Craig Macdonald made changes - 20/Feb/08 11:42 PM
Comment [ Hi Pete,

I will try the newer version tomorrow when @work. I note that fi->fh isnt used or set in dfs_read in your latest version. Could we set it in dfs_open for O_READONLY, and then use it if available?

I'm not clear on the semantics of hdfsPread - does it assume that offset is after previous offset?
If so then we need to check that the current read on a file is strictly after the previous read for a previously open FH to be of use - hdfsTell could be of use here.

Thanks

Craig ]
Pete Wyckoff made changes - 21/Feb/08 12:25 AM
Attachment fuse_dfs.c [ 12376074 ]
Pete Wyckoff made changes - 21/Feb/08 12:40 AM
Attachment fuse-dfs.tar.gz [ 12376075 ]
Pete Wyckoff made changes - 21/Feb/08 12:57 AM
Attachment fuse-dfs.tar.gz [ 12376076 ]
Doug Cutting made changes - 21/Feb/08 06:45 PM
Assignee Doug Cutting [ cutting ] Pete Wyckoff [ wyckoff ]
Craig Macdonald made changes - 19/Mar/08 06:38 PM
Attachment fuse_dfs.c [ 12378260 ]
Pete Wyckoff made changes - 10/Apr/08 11:44 PM
Attachment fuse_dfs.tar.gz [ 12379896 ]
Pete Wyckoff made changes - 11/Apr/08 12:54 AM
Attachment patch.txt [ 12379898 ]
Pete Wyckoff made changes - 11/Apr/08 12:55 AM
Release Note contrib package for mounting HDFS on any platform that supports FUSE.
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 11/Apr/08 12:56 AM
Status Patch Available [ 10002 ] Open [ 1 ]
Pete Wyckoff made changes - 11/Apr/08 12:57 AM
Affects Version/s 0.5.0 [ 12311939 ]
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 15/Apr/08 06:47 PM
Attachment patch.txt [ 12380203 ]
Pete Wyckoff made changes - 15/Apr/08 06:53 PM
Description tool to mount dfs on linux tool to mount dfs on Unix or any OS that supports FUSE
Environment linux only OSs that support FUSE. Includes Linux, MacOSx, OpenSolaris... http://fuse.sourceforge.net/wiki/index.php/OperatingSystems
Pete Wyckoff made changes - 17/Apr/08 07:00 PM
Status Patch Available [ 10002 ] In Progress [ 3 ]
Pete Wyckoff made changes - 17/Apr/08 11:11 PM
Status In Progress [ 3 ] Open [ 1 ]
Pete Wyckoff made changes - 17/Apr/08 11:11 PM
Status Open [ 1 ] In Progress [ 3 ]
Pete Wyckoff made changes - 17/Apr/08 11:35 PM
Status In Progress [ 3 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 17/Apr/08 11:37 PM
Attachment patch2.txt [ 12380454 ]
Pete Wyckoff made changes - 18/Apr/08 06:23 PM
Status Patch Available [ 10002 ] In Progress [ 3 ]
Pete Wyckoff made changes - 18/Apr/08 06:25 PM
Status In Progress [ 3 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 26/Apr/08 01:47 AM
Attachment patch3.txt [ 12380975 ]
Pete Wyckoff made changes - 26/Apr/08 01:47 AM
Status Patch Available [ 10002 ] Open [ 1 ]
Pete Wyckoff made changes - 26/Apr/08 01:48 AM
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 28/Apr/08 07:00 PM
Attachment patch4.txt [ 12381047 ]
Pete Wyckoff made changes - 29/Apr/08 01:35 AM
Status Patch Available [ 10002 ] Open [ 1 ]
Pete Wyckoff made changes - 29/Apr/08 01:35 AM
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 29/Apr/08 05:38 PM
Attachment patch4.txt [ 12381125 ]
Doug Cutting made changes - 29/Apr/08 09:14 PM
Status Patch Available [ 10002 ] Open [ 1 ]
Doug Cutting made changes - 29/Apr/08 09:24 PM
Attachment HADOOP-4.patch [ 12381139 ]
Doug Cutting made changes - 29/Apr/08 09:26 PM
Attachment HADOOP-4.patch [ 12381140 ]
Doug Cutting made changes - 29/Apr/08 10:11 PM
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 30/Apr/08 12:51 AM
Attachment patch5.txt [ 12381153 ]
Pete Wyckoff made changes - 30/Apr/08 12:51 AM
Attachment patch5.txt [ 12381153 ]
Pete Wyckoff made changes - 30/Apr/08 12:52 AM
Attachment patch4.txt [ 12381154 ]
Pete Wyckoff made changes - 01/May/08 06:35 PM
Assignee Pete Wyckoff [ wyckoff ] Prachi Gupta [ prachi.gpt ]
Status Patch Available [ 10002 ] Open [ 1 ]
Pete Wyckoff made changes - 01/May/08 06:35 PM
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 01/May/08 06:36 PM
Attachment patch5.txt [ 12381260 ]
Doug Cutting made changes - 01/May/08 08:22 PM
Status Patch Available [ 10002 ] Open [ 1 ]
Pete Wyckoff made changes - 01/May/08 09:46 PM
Status Open [ 1 ] Patch Available [ 10002 ]
Assignee Prachi Gupta [ prachi.gpt ] Raghu Angadi [ rangadi ]
Pete Wyckoff made changes - 01/May/08 09:47 PM
Attachment patch6.txt [ 12381278 ]
Raghu Angadi made changes - 01/May/08 09:55 PM
Assignee Raghu Angadi [ rangadi ]
Doug Cutting made changes - 02/May/08 09:44 PM
Status Patch Available [ 10002 ] Open [ 1 ]
Doug Cutting made changes - 02/May/08 09:48 PM
Attachment HADOOP-4.patch [ 12381349 ]
Doug Cutting made changes - 02/May/08 09:48 PM
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 05/May/08 11:32 PM
Attachment HADOOP-4.patch [ 12381458 ]
Pete Wyckoff made changes - 05/May/08 11:32 PM
Status Patch Available [ 10002 ] In Progress [ 3 ]
Pete Wyckoff made changes - 05/May/08 11:33 PM
Attachment HADOOP-4.patch [ 12381459 ]
Pete Wyckoff made changes - 05/May/08 11:33 PM
Assignee Pete Wyckoff [ wyckoff ]
Pete Wyckoff made changes - 05/May/08 11:34 PM
Status In Progress [ 3 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 06/May/08 12:58 AM
Attachment HADOOP-4.patch [ 12381467 ]
Doug Cutting made changes - 06/May/08 11:10 PM
Status Patch Available [ 10002 ] Open [ 1 ]
Doug Cutting made changes - 06/May/08 11:15 PM
Attachment HADOOP-4.patch [ 12381541 ]
Doug Cutting made changes - 06/May/08 11:16 PM
Status Open [ 1 ] Patch Available [ 10002 ]
Pete Wyckoff made changes - 20/May/08 09:09 PM
Attachment patch6.txt [ 12382413 ]
Doug Cutting made changes - 29/May/08 08:18 PM
Status Patch Available [ 10002 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Fix Version/s 0.18.0 [ 12312972 ]
Doug Cutting made changes - 30/May/08 10:50 PM
Component/s fs [ 12310689 ]
Component/s contrib/fuse-dfs [ 12312376 ]
Pete Wyckoff made changes - 09/Jun/08 06:56 PM
Release Note contrib package for mounting HDFS on any platform that supports FUSE. This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

For now, writes are disabled as this requires Hadoop-1700 - file
appends which I guess won't be ready till 0.18 ish ??.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ...

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

Robert Chansler made changes - 04/Jul/08 12:48 AM
Description tool to mount dfs on Unix or any OS that supports FUSE This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

For now, writes are disabled as this requires Hadoop-1700 - file
appends which I guess won't be ready till 0.18 ish ??.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ...

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

Release Note This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

For now, writes are disabled as this requires Hadoop-1700 - file
appends which I guess won't be ready till 0.18 ish ??.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ...

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

Introduced FUSE module for HDFS. Module allows mount of HDFS as a Unix filesystem, and optionally the export of that mount point to other machines. Writes are disabled. rmdir, mv, mkdir, rm are supported, but not cp, touch, and the like. Usage information is attached to the Jira record.

Nigel Daley made changes - 22/Aug/08 07:50 PM
Status Resolved [ 5 ] Closed [ 6 ]
Pete Wyckoff made changes - 02/Sep/08 04:22 PM
Description This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

For now, writes are disabled as this requires Hadoop-1700 - file
appends which I guess won't be ready till 0.18 ish ??.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ...

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ..., but actual writes require: https://issues.apache.org/jira/browse/HADOOP-3485

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

Pete Wyckoff made changes - 02/Sep/08 04:35 PM
Description This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ..., but actual writes require: https://issues.apache.org/jira/browse/HADOOP-3485

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

This is a FUSE module for Hadoop's HDFS.

It allows one to mount HDFS as a Unix filesystem and optionally export
that mount point to other machines.

rmdir, mv, mkdir, rm are all supported. just not cp, touch, ..., but actual writes require: https://issues.apache.org/jira/browse/HADOOP-3485

For the most up-to-date documentation, see: http://wiki.apache.org/hadoop/MountableHDFS

BUILDING:


Requirements:

   1. a Linux kernel > 2.6.9 or a kernel module from FUSE - i.e., you
   compile it yourself and then modprobe it. Better off with the
   former option if possible. (Note for now if you use the kernel
   with fuse included, it doesn't allow you to export this through NFS
   so be warned. See the FUSE email list for more about this.)

   2. FUSE should be installed in /usr/local or FUSE_HOME ant
   environment variable

To build:

   1. in HADOOP_HOME: ant compile-contrib -Dcompile.c++=1 -Dfusedfs=1 -Dlibhdfs=1


NOTE: for amd64 architecture, libhdfs will not compile unless you edit
the Makefile in src/c++/libhdfs/Makefile and set OS_ARCH=amd64
(probably the same for others too).

--------------------------------------------------------------------------------

CONFIGURING:

Look at all the paths in fuse_dfs_wrapper.sh and either correct them
or set them in your environment before running. (note for automount
and mount as root, you probably cannnot control the environment, so
best to set them in the wrapper)

INSTALLING:

1. mkdir /mnt/dfs (or wherever you want to mount it)

2. fuse_dfs_wrapper.sh dfs://hadoop_server1.foo.com:9000 /mnt/dfs -d
; and from another terminal, try ls /mnt/dfs

If 2 works, try again dropping the debug mode, i.e., -d

(note - common problems are that you don't have libhdfs.so or
libjvm.so or libfuse.so on your LD_LIBRARY_PATH, and your CLASSPATH
does not contain hadoop and other required jars.)

--------------------------------------------------------------------------------


DEPLOYING:

in a root shell do the following:

1. add the following to /etc/fstab -
  fuse_dfs#dfs://hadoop_server.foo.com:9000 /mnt/dfs fuse
  allow_other,rw 0 0

2. mount /mnt/dfs Expect problems with not finding fuse_dfs. You will
   need to probably add this to /sbin and then problems finding the
   above 3 libraries. Add these using ldconfig.

--------------------------------------------------------------------------------

EXPORTING:

Add the following to /etc/exports:

  /mnt/hdfs *.foo.com(no_root_squash,rw,fsid=1,sync)

NOTE - you cannot export this with a FUSE module built into the kernel
- e.g., kernel 2.6.17. For info on this, refer to the FUSE wiki.
--------------------------------------------------------------------------------

ADVANCED:

you may want to ensure certain directories cannot be deleted from the
shell until the FS has permissions. You can set this in the build.xml
file in src/contrib/fuse-dfs/build.xml

Owen O'Malley made changes - 08/Jul/09 05:05 PM
Component/s contrib/fuse-dfs [ 12312376 ]