Map Reduce作业:Protobuf相关错误



运行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)

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

根据我的pom.xmlprotobuf-java-2.6.1.jar正在使用中。

有人能帮我了解这个问题以及如何解决吗?

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

相关内容

  • 没有找到相关文章

最新更新