
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
|
|
Environment:
|
|
|
Issue Links:
|
Duplicate
|
|
|
|
This issue is duplicated by:
|
|
|
|
|
|
|
|
| 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.
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
|
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
|
|
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
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
|
Show » |
made changes - 07/Feb/06 03:54 AM
|
Component/s
|
|
fs
[ 12310689
]
|
made changes - 07/Feb/06 04:18 AM
|
Link
|
|
This issue is duplicated by HADOOP-17
[ HADOOP-17
]
|
made changes - 06/Jun/06 06:16 AM
|
Workflow
|
jira
[ 12346653
]
|
no reopen closed
[ 12372881
]
|
made changes - 07/Jun/06 04:37 AM
|
Workflow
|
no reopen closed
[ 12372881
]
|
no-reopen-closed
[ 12373213
]
|
made changes - 03/Aug/06 05:45 PM
|
Workflow
|
no-reopen-closed
[ 12373213
]
|
no-reopen-closed, patch-avail
[ 12377419
]
|
made changes - 17/Aug/06 05:35 PM
made changes - 17/Aug/06 05:36 PM
made changes - 17/Aug/06 05:39 PM
|
Affects Version/s
|
|
0.5.0
[ 12311939
]
|
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 03/Nov/06 07:29 PM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 15/Dec/06 09:52 PM
|
Assignee
|
|
Doug Cutting
[ cutting
]
|
made changes - 03/Dec/07 07:49 PM
|
Attachment
|
|
fuse-j-patch.zip
[ 12370868
]
|
|
Attachment
|
|
fuse-j-hadoopfs-0.1.zip
[ 12370867
]
|
made changes - 05/Dec/07 10:44 PM
|
Attachment
|
fuse-j-patch.zip
[ 12370868
]
|
|
made changes - 11/Dec/07 12:00 AM
|
Attachment
|
|
fuse_dfs.c
[ 12371393
]
|
made changes - 12/Dec/07 07:30 PM
|
Attachment
|
fuse-j-hadoopfs-0.1.zip
[ 12370867
]
|
|
made changes - 12/Dec/07 07:31 PM
made changes - 24/Jan/08 07:24 PM
|
Attachment
|
|
fuse_dfs.c
[ 12373953
]
|
made changes - 28/Jan/08 06:31 PM
|
Attachment
|
|
Makefile
[ 12374201
]
|
made changes - 20/Feb/08 02:52 PM
|
Attachment
|
|
fuse_dfs.sh
[ 12376027
]
|
made changes - 20/Feb/08 11:13 PM
|
Attachment
|
|
fuse_dfs.c
[ 12376068
]
|
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
]
|
|
made changes - 21/Feb/08 12:25 AM
|
Attachment
|
|
fuse_dfs.c
[ 12376074
]
|
made changes - 21/Feb/08 06:45 PM
|
Assignee
|
Doug Cutting
[ cutting
]
|
Pete Wyckoff
[ wyckoff
]
|
made changes - 19/Mar/08 06:38 PM
|
Attachment
|
|
fuse_dfs.c
[ 12378260
]
|
made changes - 11/Apr/08 12:54 AM
|
Attachment
|
|
patch.txt
[ 12379898
]
|
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
]
|
made changes - 11/Apr/08 12:56 AM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 11/Apr/08 12:57 AM
|
Affects Version/s
|
0.5.0
[ 12311939
]
|
|
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 15/Apr/08 06:47 PM
|
Attachment
|
|
patch.txt
[ 12380203
]
|
made changes - 17/Apr/08 07:00 PM
|
Status
|
Patch Available
[ 10002
]
|
In Progress
[ 3
]
|
made changes - 17/Apr/08 11:11 PM
|
Status
|
In Progress
[ 3
]
|
Open
[ 1
]
|
made changes - 17/Apr/08 11:11 PM
|
Status
|
Open
[ 1
]
|
In Progress
[ 3
]
|
made changes - 17/Apr/08 11:35 PM
|
Status
|
In Progress
[ 3
]
|
Patch Available
[ 10002
]
|
made changes - 17/Apr/08 11:37 PM
|
Attachment
|
|
patch2.txt
[ 12380454
]
|
made changes - 18/Apr/08 06:23 PM
|
Status
|
Patch Available
[ 10002
]
|
In Progress
[ 3
]
|
made changes - 18/Apr/08 06:25 PM
|
Status
|
In Progress
[ 3
]
|
Patch Available
[ 10002
]
|
made changes - 26/Apr/08 01:47 AM
|
Attachment
|
|
patch3.txt
[ 12380975
]
|
made changes - 26/Apr/08 01:47 AM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 26/Apr/08 01:48 AM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 28/Apr/08 07:00 PM
|
Attachment
|
|
patch4.txt
[ 12381047
]
|
made changes - 29/Apr/08 01:35 AM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 29/Apr/08 01:35 AM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 29/Apr/08 05:38 PM
|
Attachment
|
|
patch4.txt
[ 12381125
]
|
made changes - 29/Apr/08 09:14 PM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 29/Apr/08 09:24 PM
|
Attachment
|
|
HADOOP-4.patch
[ 12381139
]
|
made changes - 29/Apr/08 09:26 PM
|
Attachment
|
|
HADOOP-4.patch
[ 12381140
]
|
made changes - 29/Apr/08 10:11 PM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 30/Apr/08 12:51 AM
|
Attachment
|
|
patch5.txt
[ 12381153
]
|
made changes - 30/Apr/08 12:51 AM
|
Attachment
|
patch5.txt
[ 12381153
]
|
|
made changes - 30/Apr/08 12:52 AM
|
Attachment
|
|
patch4.txt
[ 12381154
]
|
made changes - 01/May/08 06:35 PM
|
Assignee
|
Pete Wyckoff
[ wyckoff
]
|
Prachi Gupta
[ prachi.gpt
]
|
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 01/May/08 06:35 PM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 01/May/08 06:36 PM
|
Attachment
|
|
patch5.txt
[ 12381260
]
|
made changes - 01/May/08 08:22 PM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 01/May/08 09:46 PM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
|
Assignee
|
Prachi Gupta
[ prachi.gpt
]
|
Raghu Angadi
[ rangadi
]
|
made changes - 01/May/08 09:47 PM
|
Attachment
|
|
patch6.txt
[ 12381278
]
|
made changes - 01/May/08 09:55 PM
|
Assignee
|
Raghu Angadi
[ rangadi
]
|
|
made changes - 02/May/08 09:44 PM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 02/May/08 09:48 PM
|
Attachment
|
|
HADOOP-4.patch
[ 12381349
]
|
made changes - 02/May/08 09:48 PM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 05/May/08 11:32 PM
|
Attachment
|
|
HADOOP-4.patch
[ 12381458
]
|
made changes - 05/May/08 11:32 PM
|
Status
|
Patch Available
[ 10002
]
|
In Progress
[ 3
]
|
made changes - 05/May/08 11:33 PM
|
Attachment
|
|
HADOOP-4.patch
[ 12381459
]
|
made changes - 05/May/08 11:33 PM
|
Assignee
|
|
Pete Wyckoff
[ wyckoff
]
|
made changes - 05/May/08 11:34 PM
|
Status
|
In Progress
[ 3
]
|
Patch Available
[ 10002
]
|
made changes - 06/May/08 12:58 AM
|
Attachment
|
|
HADOOP-4.patch
[ 12381467
]
|
made changes - 06/May/08 11:10 PM
|
Status
|
Patch Available
[ 10002
]
|
Open
[ 1
]
|
made changes - 06/May/08 11:15 PM
|
Attachment
|
|
HADOOP-4.patch
[ 12381541
]
|
made changes - 06/May/08 11:16 PM
|
Status
|
Open
[ 1
]
|
Patch Available
[ 10002
]
|
made changes - 20/May/08 09:09 PM
|
Attachment
|
|
patch6.txt
[ 12382413
]
|
made changes - 29/May/08 08:18 PM
|
Status
|
Patch Available
[ 10002
]
|
Resolved
[ 5
]
|
|
Resolution
|
|
Fixed
[ 1
]
|
|
Fix Version/s
|
|
0.18.0
[ 12312972
]
|
made changes - 30/May/08 10:50 PM
|
Component/s
|
fs
[ 12310689
]
|
|
|
Component/s
|
|
contrib/fuse-dfs
[ 12312376
]
|
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
|
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.
|
made changes - 22/Aug/08 07:50 PM
|
Status
|
Resolved
[ 5
]
|
Closed
[ 6
]
|
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
|
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
|
made changes - 08/Jul/09 05:05 PM
|
Component/s
|
contrib/fuse-dfs
[ 12312376
]
|
|
|