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

相关阅读

相关推荐