fuse-dfs
的设定手册
---原文是日文,由陈子诏翻译
一、
安装和
设置
前提条件:
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 [url]http://svn.apache.org/repos/asf/hadoop/core/trunk/src/contrib/fuse-dfs/[/url] $HADOOP_HOME/src/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
解�Q方法:?
(陈注:不知道怎么解决?)
2、
df �Ch
执行之后,挂载点也不显示
解�Q方法:
重启动
OS
,则可以显示出来。
3、
用
fstab
也无法自动挂载
fstab
的最后一行追加了,重启之后无法自动挂载。但是
mount �Ca
执行之后,可以挂载。
原因:
环境变量设置不正确
解�Q方法:
检查下列环境变量是否被正确设置了。
JAVA_HOME
OS_NAME
OS_ARCH
HADOOP_HOME
9/4 17:22