fuse-dfs安装配置

shenhongdb 2013-10-17

介绍

fuse-dfs是Hadoop项目自带的一个功能模块。主要实现把dfs上的数据映射至本地指定mount点。由于现存的软件无法直接使用hdfs上的数据,所以此时可以借助fuse来实现本地文件系统的映射。

fuse-dfs依赖的相关库有

1:fuse.ko

一般linux版本都会自带这个内核模块,如果没有,请编译此模块。通过sudo lsmod|grep fuse判断fuse是否被自动加载,可尝试通过insmod或modprobe命令加载此模块。

2:fuse(http://fuse.sourceforge.net/)

fuse库需要自行编译安装(详细编译方式可参照fuse-2.8.4/README)

$./configure

$make

$sudo make install

编译完后的fuse库默认安装至/usr/local/lib目录里。请修改环境变量LD_LIBRARY_PATH,添加目录/usr/local/lib。

3:libhdfs

hadoop工程自带的模块。编译方式为:

$ant compile -Dcompile.c++=true -Dlibhdfs=true

注:编译过程hadoop项目会通过网络下载依赖的库。如果系统不能联网,可以修改 hadoop 项目目录里的build.xml文件,有多个需要修改的地方,修改属性ivy_repo_url 的值为

<property name="ivy_repo_url" value="file:// ${user.home} /install/ivy-2.0.0-rc2.jar"/>

本地放置库ivy-2.0.0-rc2.jar 的file路径按实际修改。另外其它依赖的库也可以直接把已下载好的.ivy2文件夹放至home目录下。

4:fusedfs

$ln -s $HADOOP_HOME/build/c++/Linux-amd64-64/lib $HADOOP_HOME/build/libhdfs

$export LD_LIBRARY_PATH=

/usr/lib:/usr/local/lib: $HADOOP_HOME/build/c++/Linux-amd64-64/lib:$JAVA_HOME/jre/lib/amd64/server

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

注:Linux-amd64-64是64位系统libhdfs编译后生成的目录,amd64是64位系统java依赖库目录,要根据实际情况修改。LD_LIBRARY_PATH环境变量的修改应记录到登录环境变量中。

启动dfs-fuse进程

启动命令为

cd $HADOOP_HOME/build/contrib/fuse-dfs

./fuse_dfs_wrapper.sh dfs://master-host:9000 $HOME/fuse-dfs

其中master-host请修改为hadoop对应master节点主机名

保证$HOME目录下有空文件夹fuse-dfs

相关阅读

相关推荐