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
解決方法:?(陈注:不知道怎么解决?)
2、df –h执行之后,挂载点也不显示
解決方法:
重启动OS,则可以显示出来。
3、用fstab也无法自动挂载
fstab的最后一行追加了,重启之后无法自动挂载。但是mount –a执行之后,可以挂载。
原因:环境变量设置不正确
解決方法:
检查下列环境变量是否被正确设置了。
JAVA_HOME
OS_NAME
OS_ARCH
HADOOP_HOME
9/4 17:22
本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/121110 ,如需转载请自行联系原作者