1、  首先从http://fuse.sourceforge.net/ 下载fuse版本,我使用的版本是2.8.5

2、  解压fuse

   tar -zxf fuse-2.8.5.tar.gz

3、  安装

cd fuse-2.8.5

/configure --prefix=/usr

make

make install

/sbin/ldconfig  更新一下动态库。

至此,fuse安装完成,可以从fuse官网将example试一下,确定是否安装成功

 

4、  编译dfs-fuse

进入$HADOOP_HOME:  cd $HADOOP_HOME

编译libhdfs:    ant compile-c++-libhdfs -Dlibhdfs=1

打包:    ant package

编译dfs-fuse:    ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1

成功后会在$HADOOP_HOME/build/contrib/fuse-dfs/ 产生一个脚本和一个二进制文件,有用的是fuse_dfs_wrapper.sh脚本

 

出现的问题:

dfs-fuse时候有可能提示找不到libhdfs.so 将$HADOOP_HOME/c++/Linux-amd64-64/lib/* 全部拷贝到$HADOOP_HOME/build/libhdfs下面。

编译dfs-fuse会提示找不到jvm,一般是没有找到jvm的路径, export OS_ARCH=amd64(对于64位机器),或者检查LD_LIBRARY_PATH变量是否设置正确

5、  挂载

在$HADOOP_HOME/build/contrib/fuse-dfs/ 执行fuse_dfs_wrapper.sh dfs://namenode:8020 /hdfs

其中 dfs后面部分对应的是$HADOOP_HOME/conf/core-site.xml 中fs.default.name选项,后面的参数是要挂架到的目录。

然后就可以对hdfs以普通文件系统的方式进行操作了。

相关文章:

  • 2022-12-23
  • 2021-08-19
  • 2021-09-08
  • 2021-07-09
  • 2021-10-30
  • 2022-02-03
  • 2021-08-14
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-02
  • 2022-01-14
相关资源
相似解决方案