`
Taoo
  • 浏览: 291060 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

fuse=dfs 安装

 
阅读更多
其实不是那么难,但是各种小问题搞了我一天。


1,确认你的机器安装了以下工具,可以通过yum安装:
yum install xxxxx
引用
automake
autoconf
libtool

这些工具,是编译hadoop源码是需要用到的。
这一点狠狠很重要

2,下载,安装ant
下载:apache-ant-1.8.4-bin.tar.gz
解压之,就行了。

3,下载,安装hadoop包
下载:hadoop-1.0.3.tar.gz
解压之,就行。

4,配置环境变量: (以下是我的机器配置,各个机器的安装路径可能不同)
引用
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.30.x86_64
export HADOOP_HOME=/usr/local/lib/hadoop-1.0.3
export OS_ARCH=amd64
export OS_BIT=64
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:${HADOOP_HOME}/build/c++/Linux-amd64-64/lib:/usr/local/lib:/usr/lib
export ANT_HOME=/usr/local/lib/apache-ant-1.8.4
export PATH=$ANT_HOME/bin:$PATH

64位linux配置

引用
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.30.x86_64
export HADOOP_HOME=/usr/local/lib/hadoop-1.0.3
export OS_ARCH=i386
export OS_BIT=32
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:${HADOOP_HOME}/build/c++/Linux-amd64-64/lib:/usr/local/lib:/usr/lib
export ANT_HOME=/usr/local/lib/apache-ant-1.8.4
export PATH=$ANT_HOME/bin:$PATH

32位linux配置

5,fuse的下载与安装:
下载地址:http://sourceforge.net/projects/fuse/files/fuse-2.X/
注意:并不是版本越新越好,有的linux并不支持新版本的一些特性,会出问题。
比如我的linux用2.9.1就会出问题,看到网上有人用2.8.6也出了同样的问题。
后来我最后选择的2.8.5就可以用了。
btw,我曾经用yum安装过一次,给我安装的是2.7.x,最后配置也失败。
安装方法:
引用
tar zxvf    fuse-2.8.5.tar.gz
cd fuse2.8.5
./configure --prefix=/usr
make
make install
modprobe fuse


引用
vi /etc/sysconfig/modules/my.modules
        #!/bin/sh
        modprobe fuse >/dev/null 2>&1
chmod +x /etc/sysconfig/modules/my.modules



6,制作hdfslib
引用
cd $HADOOP_HOME/
ant compile-c++-libhdfs -Dlibhdfs=1 -Dcompile.c++=1
ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs


7,编译fuse-dfs
引用

cd $HADOOP_HOME
ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1


8,挂载hdfs到本地系套
引用
cd $HADOOP_HOME/build/contrib/fuse-dfs/
mkdir /testdfs
fuse_dfs_wrapper.sh dfs://x.x.x.x:54310 /testdfs

注意,此处运行完毕会报错:
引用
fuse-dfs didn't recognize /testdfs/,-2

这个问题不知道怎么解决,但是可以正常使用。btw,如果有其他错误的话,还是无法使用。
例如这个错误:
引用

/bin/mount: unrecognized option `--no-canonicalize'

这个错误就是linux的mount不支持,fuse中使用的参数,也就是需要换一个fuse的低版本再试下。

9,验证安装完毕。
cd到/testdfs目录下,ls一下,就可以看到dfs的根目录了。



遗留问题:
在一个老版本的linux上安装时,在进行modprobe fuse时,会报错如下:
FATAL: Module fuse not found.
网上搜了一圈,说是linux内核不支持fuse,需要更新内核,然后搜了下更新方法,貌似很危险,由于是线上服务器,不敢乱来,暂时搁置了。




参考资料:
引用

http://cqfish.blog.51cto.com/622299/208404
http://hi.baidu.com/siruiyang/item/51ba4fc02748be40a8ba9465
http://note.sdo.com/u/seeeyou/n/y8Wvx~jXSiUOwE03w000kM
http://2757758.blog.51cto.com/2747758/510563
http://linux.net527.cn/Linuxwendang/xitongguanliyuan/32583.html







cd /usr/lib/hadoop-1.0.4/build/contrib/fuse-dfs/ ; ./fuse_dfs_wrapper.sh dfs://10.aa.aa.aa:xxxxx /usr/local/share/hdfs-fuse/hdfs ; cd ~ 




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics