【问题标题】:How build hadoop sources under windows?windows下如何构建hadoop源码?
【发布时间】:2014-10-10 06:03:42
【问题描述】:

尝试从 windows 7 x64 下的源代码构建 hadoop。根据指令Hadoop2OnWindowsBUILDING

我从git 克隆了hadoop 源,结帐到origin/branch-2.5(SHA-1:fa3bb675a728105d69614f53abe4339958550adf) 然后从 Windows 控制台运行:

  1. set Platform=x64
  2. clean install -Pdist,native-win -DskipTests -Dtar

然后得到错误 - [ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.5.0-SNAPSHOT:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not return a version -> [Help 1]

有什么办法解决这个问题吗?

【问题讨论】:

    标签: java apache maven hadoop


    【解决方案1】:

    hadoop-maven-plugins 的 protoc mojo 做的第一件事就是使用 Java 的 java.lang.Process 类来尝试执行以下命令:

    protoc --version
    

    基本上这样做是为了检查您系统上的 Protocol Buffer 编译器 (protoc) 的版本是否与 protobuf JAR 的版本匹配。

    有 4 个结果:

    • 找不到要执行的protoc 命令(它收到的退出值是 127)
    • 它确实没有收到退出值 127,但也没有得到返回的版本值
    • 返回的版本与 protobuf jar 的版本不匹配
    • 返回一个版本,它与 protobuf jar 的版本匹配

    您遇到了第二个问题。

    如果您尝试从命令行运行protoc --version,它会起作用吗?

    正如他们在其网站中所述,如果您的系统中有多个版本的 protoc,您可以在构建 shell 中设置 HADOOP_PROTOC_PATH 环境变量以指向您想要用于 Hadoop 构建的环境变量。如果您不定义此环境变量,则在PATH 中查找protoc。在您的PATH 上可用吗?

    如果您尚未安装 Protocol Buffer 编译器,您可以从以下位置下载它: https://developers.google.com/protocol-buffers/docs/downloads

    【讨论】:

      【解决方案2】:

      您似乎缺少protoc 编译器。

      您可以从here 下载并安装2.5.0 二进制文件

      然后你可以设置HADOOP_PROTOC_PATH指向安装目录。

      【讨论】:

      猜你喜欢
      • 2014-08-13
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多