|
|
-
Re: HDFS-Fuse/virtual machine images
Bastian Lorenz 2010-05-11, 14:42
> Hi everybody, > > > i have set up an hdfs cluster with three nodes(one master, two > datanodes). Everything works fine…so far! Now i want to mount my hdfs > with Fuse. This works also. The mountpoint is /export/hdfs. I want to > store qcow2 files in hdfs an boot from an iso which is also stored in > hdfs. > > The ‘Big Picture‘: I want storing (and booting) virtual machines (with > kvm) with hdfs > > Fuse is mounted with following command: > > $$ fuse_dfs_wrapper.sh dfs://NameNode:9000 -obig_writes /export/hdfs/ -d > > > I create the qcow2 file and start the vm with the following command: > > $$virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f > /export/hdfs/vm1/vm10.qcow2 -s 12 -c > /export/hdfs/debian-504-amd64-netinst.iso --vnc --noautoconsole > --os-type linux --os-variant debianLenny --accelerate > --network=bridge:br0 –hvm > > But when i run this command, i got the following error message from Fuse > output: > > port=9000,server=NameNode > > fuse-dfs didn't recognize /export/hdfs/,-2 > > fuse-dfs ignoring option -d > > FUSE library version: 2.8.4 > > nullpath_ok: 0 > > unique: 1, opcode: INIT (26), nodeid: 0, insize: 56 > > INIT: 7.13 > > flags=0x0000007b > > max_readahead=0x00020000 > > INIT: 7.12 > > flags=0x00000031 > > max_readahead=0x00020000 > > max_write=0x00020000 > > unique: 1, success, outsize: 40 > > unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56 > > getattr / > > unique: 2, success, outsize: 120 > > unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 44 > > LOOKUP /vm1 > > getattr /vm1 > > NODEID: 2 > > unique: 3, success, outsize: 144 > > unique: 4, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 4, error: -2 (No such file or directory), outsize: 16 > > unique: 5, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 5, error: -2 (No such file or directory), outsize: 16 > > unique: 6, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 6, error: -2 (No such file or directory), outsize: 16 > > unique: 7, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 7, error: -2 (No such file or directory), outsize: 16 > > unique: 8, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 8, error: -2 (No such file or directory), outsize: 16 > > unique: 9, opcode: STATFS (17), nodeid: 2, insize: 40 > > statfs /vm1 > > unique: 9, success, outsize: 96 > > unique: 10, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 10, error: -2 (No such file or directory), outsize: 16 > > unique: 11, opcode: STATFS (17), nodeid: 2, insize: 40 > > statfs /vm1 > > unique: 11, success, outsize: 96 > > unique: 12, opcode: LOOKUP (1), nodeid: 1, insize: 69 > > LOOKUP /debian-504-amd64-netinst.iso > > getattr /debian-504-amd64-netinst.iso > > NODEID: 3 > > unique: 12, success, outsize: 144 > > unique: 13, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 13, error: -2 (No such file or directory), outsize: 16 > > unique: 14, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 14, error: -2 (No such file or directory), outsize: 16 > > unique: 15, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 15, error: -2 (No such file or directory), outsize: 16 > > unique: 16, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 16, error: -2 (No such file or directory), outsize: 16 > > unique: 17, opcode: LOOKUP (1), nodeid: 2, insize: 51 > > LOOKUP /vm1/vm10.qcow2 > > getattr /vm1/vm10.qcow2 > > unique: 17, error: -2 (No such file or directory), outsize: 16
+
Bastian Lorenz 2010-05-11, 14:42
-
Re: HDFS-Fuse/virtual machine images
Allen Wittenauer 2010-05-11, 15:14
On May 11, 2010, at 7:42 AM, Bastian Lorenz wrote: > i have set up an hdfs cluster with three nodes(one master, two > datanodes). Everything works fine…so far! Now i want to mount my hdfs > with Fuse. This works also. The mountpoint is /export/hdfs. I want to > store qcow2 files in hdfs an boot from an iso which is also stored in > hdfs.
I expect performance to be similar to that of glaciers moving across a continent. Last I heard, FUSE-HDFS was a 60% performance hit over normal HDFS.
> Why i can´t store qcow2 files in hdfs? Got somebody an idea? >
HDFS is not a POSIX file system, even when wrapped in FUSE. Operations such as truncate will NOT work:
> truncate /vm1/vm10.qcow2 12884901888 > > unique: 22, error: -95 (Operation not supported), outsize: 16
+
Allen Wittenauer 2010-05-11, 15:14
-
Re: HDFS-Fuse/virtual machine images
Eli Collins 2010-05-15, 03:47
On Tue, May 11, 2010 at 8:14 AM, Allen Wittenauer <[EMAIL PROTECTED]> wrote: > > On May 11, 2010, at 7:42 AM, Bastian Lorenz wrote: >> i have set up an hdfs cluster with three nodes(one master, two >> datanodes). Everything works fine…so far! Now i want to mount my hdfs >> with Fuse. This works also. The mountpoint is /export/hdfs. I want to >> store qcow2 files in hdfs an boot from an iso which is also stored in >> hdfs. > > I expect performance to be similar to that of glaciers moving across a continent. Last I heard, FUSE-HDFS was a 60% performance hit over normal HDFS. >
Depends on the operation. Meta-data intensive operations like ls are slower but bulk transfer of large files is pretty close to using the performance of using the client directly (eg fs -put or -get).
Thanks, Eli
+
Eli Collins 2010-05-15, 03:47
|
|