【问题标题】:Not able to build fuse-dfs to mount HDFS无法构建 fuse-dfs 来挂载 HDFS
【发布时间】:2018-01-26 01:39:59
【问题描述】:

我的 Hadoop 版本是 2.5.2。

我想用 fuse 挂载 Hadoop。我尝试了两种方法,但都失败了。一种方法是:

HADOOP_HOME: ant compile-c++-libhdfs -Dlibhdfs=1`.

但是因为找不到build.xml而失败。另一种方法是在hadoop-hdfs/target/native/main/native/fuse-dfs,我执行make但还是没有fuse-dfs。

我应该如何构建 fuse-dfs 以便我可以通过 fuse 挂载 HDFS?

【问题讨论】:

  • 你不是要问如何构建fuse-dfs吗?如果是,您能否提供更多详细信息,例如您遇到的错误?
  • 是的,我想构建 fuse-dfs。在 fuse-dfs 目录下执行 make 命令,我希望生成 fuse-dfs 工具。但是我什么都没有,也没有错误信息。

标签: hadoop hdfs fuse


【解决方案1】:

我假设您已经安装了 Java 和 Maven,并且可以构建其他 Hadoop 组件。之后你运行:

$ mvn package -Pnative -Drequire.fuse=true -DskipTests -Dmaven.javadoc.skip=true

此指令在 fuse-dfs 的后续 README 中(hadoop-hdfs-project/hadoop-hdfs/src/main/native/fuse-dfs/doc/README)

建筑

fuse-dfs 可执行文件可以通过使用 Maven 将 require.fuse 选项设置为 true 来构建。例如: 在 HADOOP_PREFIX 中:mvn package -Pnative -Drequire.fuse=true -DskipTests -Dmaven.javadoc.skip=true

可执行文件fuse_dfs 将位于 HADOOP_PREFIX/hadoop-hdfs-project/hadoop-hdfs-native-client/target/main/native/fuse-dfs/

但是 2.5.2 的源代码是指较旧的指令。

我的构建环境是 CentOS 6 服务器。我在 Native library 下添加了 https://wiki.apache.org/hadoop/HowToContribute 中提到的附加包:

对于 RHEL(因此也适用于 CentOS):

yum -y install lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool openssl-devel fuse-devel cmake

参考资料:

https://wiki.apache.org/hadoop/HowToContribute - 构建说明

【讨论】:

    猜你喜欢
    • 2014-10-04
    • 2011-10-05
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2014-07-20
    • 1970-01-01
    相关资源
    最近更新 更多