Я застрял с этой ошибкой: YarnProtos$ApplicationIdProto переопределяет последний метод getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
Я использую giraph-1.2 для моей магистерской диссертации по информатике.
Я успешно настроил и запустил giraph-1.2 и hadoop-2.5.1 с пряжей в псевдораспределенном режиме на моем локальном компьютере с этой конфигурацией.
В псевдораспределенном режиме я запускаю программу giraph со следующими параметрами:
[giraph MY_JAR.jar SUPERSTEP0_CLASS -ca giraph.master.observers=MY_OBSERVER_CLASS -mc MY_MASTER_CLASS -eif MY_CUSTOM_INPUT_FORMAT -eip input.txt -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat -op output -w 1 -ca giraph.SplitMasterWorker=false -ca io.edge.reverse.duplicator=true][1]
Затем я попытался использовать amazon ec2 с простым кластером из 3 узлов с этой другой конфигурацией, но я получаю ошибку ниже. Я также перепробовал псевдораспределенный режим в amazon ec2 только с 1 узлом, и я получаю ту же ошибку ниже, но на моем локальном компьютере это работает!!!
Я использую Ubuntu 16.04 как локально, так и в EC2.
Очевидно, я попробовал пример hadoop на моем кластере ec2, и он работает.
Пожалуйста, помогите мне, потому что я заблокирован с моим мастером это за эту ошибку! Я читал об этом на многих форумах и много раз проверял, что у меня есть только protobuf-java-2.5.0.jar внутри hadoop-2.5.2 и giraph-1.2 как в ec2, так и на моем локальном ПК.
FATAL [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error starting MRAppMaster
java.lang.VerifyError: class org.apache.hadoop.yarn.proto.YarnProtos$ApplicationIdProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.getConstructor(Class.java:1825)
at org.apache.hadoop.yarn.factories.impl.pb.RecordFactoryPBImpl.newRecordInstance(RecordFactoryPBImpl.java:62)
at org.apache.hadoop.yarn.util.Records.newRecord(Records.java:36)
at org.apache.hadoop.yarn.api.records.ApplicationId.newInstance(ApplicationId.java:49)
at org.apache.hadoop.yarn.util.ConverterUtils.toApplicationAttemptId(ConverterUtils.java:137)
at org.apache.hadoop.yarn.util.ConverterUtils.toContainerId(ConverterUtils.java:177)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1391)
INFO [main] org.apache.hadoop.util.ExitUtil: Exiting with status 1
Ссылки на файлы конфигурации работают до 4 августа 2018 года, но я могу отправить их повторно.