一、安装和设置 前提条件: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