当前位置:操作系统 > Unix/Linux >>

Hadoop fuse_dfs编译与安装

Hadoop fuse_dfs编译与安装
 
Fuse-dfs可以将HDFS文件系统mount到本地,用于执行一些ls等基本的系统操作命令。Fuse-dfs位于$HADOOP_HOME/src/contrib/fuse-dfs目录下,需要用户进行编译。现将其编译步骤总结如下:
 
1.安装autoconf(autoconf-latest.tar.gz)、automake(automake-1.13.4.tar.gz)、libtool(libtool-2.4.tar.gz)、m4(m4-1.4.17.tar.gz)、fuse(fuse-2.9.3.tar.gz)
 
2.确保机器上安装了gcc软件
 
3.下载安装Apache ant并设置ANT_HOME变量
 
4.在$HADOOP_HOME下创建build目录,将$HADOOP_HOME/c++拷贝到$HADOOP_HOME/build(备注,其最终格式为$HADOOP_HOME/build/c++
 
5.在$HADOOP_HOME目录下执行命令:
 
ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs
 
6.设置一些环境变量
 
export OS_ARCH=amd64
 
export OS_BIT=64
 
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$HADOOP_HOME/build/c++/Linux-amd64-64/lib:$JAVA_HOME/jre/lib/amd64/server
 
(备注,如果是32位系统需要做相应的修改)
 
7.如果在断网状态下,需要在本地建立ivy库并准备相应的依赖包并修改ivy配置文件。
 
8.在$HADOOP_HOME目录下执行下面两条命令:
 
ant compile-c++-libhdfs -Dlibhdfs=1
 
ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
 
9.如果编译成功会在$HADOOP_HOME/build/contrib下生成fuse-dfs目录并产生一些文件:
 
10.将$HADOOP_HOME/c++中的本地库,根据操作系统是32还是64,将相应的文件拷贝到/usr/lib或者/usr/lib64下。
 
11.给文件fuse_dfs_wrapper.sh赋予可执行权限
 
12.创建一个目录例如/mnt/dfs,并将HDFS挂载到该目录
 
./fuse_dfs_wrapper.sh dfs://localhost:8020/ /mnt/dfs(注意此时的HDFS文件系统必须以dfs://开头)
 
如果出现下面的提示信息,不用担心,不影响使用
 
fuse-dfs didn't recognize /mnt/dfs,-2
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,