【问题标题】:Map Reduce Job: Protobuf related errorMap Reduce Job:Protobuf 相关错误
【发布时间】:2016-03-13 00:12:19
【问题描述】:

我在运行 Map Reduce 作业时遇到错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.yarn.proto.YarnProtos$LocalResourceProto.hashLong(J)I
    at org.apache.hadoop.yarn.proto.YarnProtos$LocalResourceProto.hashCode(YarnProtos.java:11655)
    at org.apache.hadoop.yarn.api.records.impl.pb.LocalResourcePBImpl.hashCode(LocalResourcePBImpl.java:62)
    at java.util.HashMap.hash(HashMap.java:362)
    at java.util.HashMap.put(HashMap.java:492)

在谷歌上搜索了一下,我碰到了一个thread,它提示这是proto 版本相关的错误。它说我的应用程序依赖于 proto3 和使用 proto2 的纱线。

根据我的pom.xml,正在使用protobuf-java-2.6.1.jar

谁能帮我理解这个问题以及如何解决它?

【问题讨论】:

    标签: hadoop mapreduce protocol-buffers


    【解决方案1】:

    此错误表示代码编译时使用的jar文件与运行时使用的jar文件不同。您需要确保您使用的 protobuf jar 版本与编译代码所针对的版本完全相同。如果您没有自己编译代码,则需要弄清楚提供程序使用的版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 2014-01-14
      • 1970-01-01
      • 2014-04-28
      • 2013-06-10
      相关资源
      最近更新 更多