Hadoop fuse_dfs编译与安装

Fuse-dfs能够将HDFS文件系统mount到本地,用于执行一些ls等基本的系统操做命令。Fuse-dfs位于$HADOOP_HOME/src/contrib/fuse-dfs目录下,须要用户进行编译。现将其编译步骤总结以下: c++

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 app

2.确保机器上安装了gcc软件 ui

3.下载安装Apache ant并设置ANT_HOME变量 spa

4.在$HADOOP_HOME下建立build目录,将$HADOOP_HOME/c++拷贝到$HADOOP_HOME/build(备注,其最终格式为$HADOOP_HOME/build/c++ 操作系统

5.在$HADOOP_HOME目录下执行命令: server

ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs 编译

6.设置一些环境变量 test

export OS_ARCH=amd64 变量

export OS_BIT=64 gcc

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

相关文章
相关标签/搜索