分享

fuse-dfs的设定手册

skaterxu 发表于 2013-10-25 10:46:01 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 6553
本帖最后由 hadoopor 于 2009-12-4 17:15 编辑
转载:http://blog.zdnet.com.cn/index.php?uid/313974/action/viewspace/itemid/2778030/php/1
---原文是日文,由陈子诏翻译

一、安装和设置
前提条件:fuse-2.7.4和hadoop0.17.1被正确的安装了
所有的操作都是在root的用户下进行的。一部分操作、普通用户也可以进行。
1、环境变量的设置
export JAVA_HOME=/usr/java/jdk1.6.0_07
export OS_NAME=linux
export OS_ARCH=i386
export HADOOP_HOME=/hadoop

2、检查(CheckOut)最新的fuse-dfs源代码
hadoop0.17.1中にfuse-dfsがはいていませんので、命令像下面这样的:
#svn checkout http://svn.apache.org/repos/asf/ ... rc/contrib/fuse-dfs

3、编译
#cd $HADOOP_HOME/src/contrib/fuse-dfs
#export FUSE_HOME=/usr/local/src/fuse-2.7.4
#./bootstrap.sh
#make
#mkdir $HADOOP_HOME/contrib/fuse-dfs/
#cp $HADOOP_HOME/src/contrib/fuse-dfs/src/fuse_dfs_wrapper.sh $HADOOP_HOME/contrib/fuse-dfs/
#cp $HADOOP_HOME/src/contrib/fuse-dfs/src/fuse_dfs $HADOOP_HOME/contrib/fuse-dfs/

4、lib的设置和创建链接(和hdfs-fuse同理)
ln -s /hadoop/libhdfs/libhdfs.so /usr/local/lib/libhdfs.so
ln -s /usr/java/jdk1.6.0_07/jre/lib/i386/client/libjvm.so /usr/local/lib

# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib (追加这行)
确认修改结果
#ldconfig

5、Mount的准备
#vi $HADOOP_HOME/contrib/fuse-dfs/fuse_dfs_wrapper.sh的最前部追加下面的内容
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.6.0_07
export OS_NAME=linux
export OS_ARCH=i386
export HADOOP_HOME=/hadoop

最后一行的./fuse_dfs部分修改为fuse_df,然后保存。

6、Mount
#mkdir /mnt/dfs
#cd $HADOOP_HOME/contrib/fuse-dfs/
#./fuse_dfs_wrapper.sh dfs://172.16.0.47:9000 /mnt/dfs 需要调试信息的话,追加-d选项。

卸载的命令
#umount /mnt/dfs

7、利用fstab自动加载的命令
#ln -s $HADOOP_HOME/contrib/fuse-dfs/fuse_dfs /usr/local/bin
#ln -s $HADOOP_HOME/contrib/fuse-dfs/fuse_dfs_wrapper.sh /usr/local/bin/fuse_dfs_wrapper
#vi /etc/fstab 把下面的内容追加到文件最后。
fuse_dfs_wrapper#dfs://172.16.0.47:9000 /mnt/dfs fuse allow_other,rw 0 0

#vi /etc/sysconfig/modules/my.modules 如果这个文件不存在的话则创建。
#!/bin/bash
modprobe fuse >/dev/null 2>&1

#chmod +x /etc/sysconfig/modules/my.modules 保存之后给予执行的权限。
#reboot -n 重启操作系统。

8、测试
# df -h
Filesystem 大小 已使用 剩余 已使用% 挂载的位置
/dev/mapper/VolGroup00-LogVol00
5.8G 4.6G 916M 84% /
/dev/xvda1 99M 27M 68M 29% /boot
tmpfs 513M 0 513M 0% /dev/shm
fuse 1.8G 1.5G 256M 86% /mnt/dfs
还有
# ls /mnt/dfs -l
合計 12
drwxrwxrwx 3 nobody nobody 4096 8月 19 11:55 hadoop
drwxrwxrwx 7 nobody nobody 4096 8月 19 14:59 share
drwxrwxrwx 4 nobody nobody 4096 8月 15 11:31 user

OK。
到此,安装的工作完成了。

二、错误信息和解决办法
1、用fuse_dfs_wrapper.sh挂载的时候出现了下面的信息
fuse-dfs didn't recognize /mnt/dfs,-2
解決方法:吗?(陈注:不知道怎么解决吗?)

2、df –h执行之后,挂载点也不显示
解決方法:
重启动OS,则可以显示出来。

3、用fstab也无法自动挂载
fstab的最后一行追加了,重启之后无法自动挂载。但是mount –a执行之后,可以挂载。
原因:环境变量设置不正确
解決方法:
检查下列环境变量是否被正确设置了。
JAVA_HOME
OS_NAME
OS_ARCH
HADOOP_HOME

已有(2)人评论

跳转到指定楼层
cryst2l 发表于 2013-10-25 10:46:01
回复 1# hadoopor
hdfs-fuse网址:http://hdfs-fuse.googlecode.com
SVN下载:http://hdfs-fuse.googlecode.com/svn/trunk
回复

使用道具 举报

Alkaloid0515 发表于 2013-10-25 10:46:01
fuse-dfs 是用来做什么的吗?加载其他文件系统吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条