map reduce作业:protobuf相关错误

9fkzdhlc  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(320)

我在运行 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 用Yarn proto2 .
根据我的说法 pom.xml , protobuf-java-2.6.1.jar 正在使用。
有谁能帮我理解这个问题以及如何解决它吗?

kxeu7u2r

kxeu7u2r1#

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

相关问题