2017-12-21 82 views
5

मैं फ्लिंक 1.4 पर नौकरी सबमिट करने और निम्न अपवाद प्राप्त करने का प्रयास करता हूं।फ्लिंक 1.4 AvroUtils त्रुटि

कोई समस्या यह हल करने के लिए कैसे करें?

Caused by: org.apache.flink.runtime.client.JobExecutionException: Job execution failed. 
at org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$6.apply$mcV$sp(JobManager.scala:897) 
at org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$6.apply(JobManager.scala:840) 
at org.apache.flink.runtime.jobmanager.JobManager$$anonfun$handleMessage$1$$anonfun$applyOrElse$6.apply(JobManager.scala:840) 
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) 
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) 
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39) 
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415) 
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
Caused by: java.lang.VerifyError: Bad type on operand stack 
Exception Details: 
    Location: 
    org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.addAvroGenericDataArrayRegistration(Ljava/util/LinkedHashMap;)V @23: invokespecial 
    Reason: 
Type 'org/apache/flink/api/java/typeutils/runtime/kryo/Serializers$SpecificInstanceCollectionSerializerForArrayList' (current frame, stack[7]) is not assignable to 'com/esotericsoftware/kryo/Serializer' 
    Current Frame: 
bci: @23 
flags: { } 
locals: { 'org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils', 'java/util/LinkedHashMap' } 
stack: { 'java/util/LinkedHashMap', 'java/lang/String', uninitialized 6, uninitialized 6, 'java/lang/Class', uninitialized 12, uninitialized 12, 'org/apache/flink/api/java/typeutils/runtime/kryo/Serializers$SpecificInstanceCollectionSerializerForArrayList' } 
    Bytecode: 
0x0000000: 2b12 05b6 000b bb00 0c59 1205 bb00 0d59 
0x0000010: bb00 0659 b700 0eb7 000f b700 10b6 0011 
0x0000020: 57b1         

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.flink.api.java.typeutils.AvroUtils.getAvroUtils(AvroUtils.java:48) 
at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.buildKryoRegistrations(KryoSerializer.java:481) 
at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.<init>(KryoSerializer.java:119) 
at org.apache.flink.api.java.typeutils.GenericTypeInfo.createSerializer(GenericTypeInfo.java:90) 
at org.apache.flink.api.java.typeutils.TupleTypeInfo.createSerializer(TupleTypeInfo.java:107) 
at org.apache.flink.api.java.typeutils.TupleTypeInfo.createSerializer(TupleTypeInfo.java:52) 
at org.apache.flink.api.java.typeutils.ListTypeInfo.createSerializer(ListTypeInfo.java:102) 
at org.apache.flink.api.common.state.StateDescriptor.initializeSerializerUnlessSet(StateDescriptor.java:253) 
at org.apache.flink.runtime.state.DefaultOperatorStateBackend.getListState(DefaultOperatorStateBackend.java:520) 
at org.apache.flink.runtime.state.DefaultOperatorStateBackend.getUnionListState(DefaultOperatorStateBackend.java:165) 
at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.initializeState(FlinkKafkaConsumerBase.java:692) 
at org.apache.flink.streaming.util.functions.StreamingFunctionUtils.tryRestoreFunction(StreamingFunctionUtils.java:178) 
at org.apache.flink.streaming.util.functions.StreamingFunctionUtils.restoreFunctionState(StreamingFunctionUtils.java:160) 
at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.initializeState(AbstractUdfStreamOperator.java:96) 
at org.apache.flink.streaming.api.operators.AbstractStreamOperator.initializeState(AbstractStreamOperator.java:259) 
at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeOperators(StreamTask.java:694) 
at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeState(StreamTask.java:682) 
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:253) 
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:718) 
at java.lang.Thread.run(Thread.java:748) 
+1

1.3.1 1.4 –

+0

से वर्तमान को रोकने उन्नयन का समाधान हम एक ही त्रुटि मिले हैं 1.3.2 से 1.4 तक अपग्रेड करते समय। हम अभी भी एक समाधान की तलाश में हैं। – toch

उत्तर

2

:

configurations { 
    runtime.exclude module: 'kryo' , group: 'com.esotericsoftware.kryo' 
} 

Maven pom.xml में, यह साथ किया जाता है (यदि आप छाया प्लगइन का उपयोग करता है, तो) पिछले जवाब पर "toch" करने के लिए धन्यवाद - वह मुझे समाधान

<exclude>com.esotericsoftware.kryo:kryo</exclude> 

पहले से ही हमारे pom.xml

में बाहर रखा गया था के लिए एक दिशा दी 0

मैं देखा कि kryo-shaded

मैं पोम

<exclude>com.esotericsoftware:kryo-shaded</exclude> 

में जोड़ने से बाहर रखा शामिल किया गया था और यह समस्या

+2

कृपया अन्य उपयोगकर्ताओं से जवाब दोहराएं, इसके बजाय उनके उत्तर को ऊपर उठाएं। –

+0

क्या आप दिखा सकते हैं कि पोम में कहां रखा गया है? – Jicaar

5

यह काम जार में Kryo lib और एक पहले से ही Flink में लोड के बीच एक संघर्ष है।

दरअसल, serializers $ SpecificInstanceCollectionSerializerForArrayListcom.esotericsoftware.kryo.Serializer से विरासत में मिली के माध्यम से SpecificInstanceCollectionSerializer और CollectionSerializer। (फ्लिंक में Serializers.java देखें और क्रियो में CollectionSerializer.java देखें)।

हम जार से क्रायो लिब को छोड़कर इसे ठीक करते हैं। Gradle build.gradle में, यह साथ किया जाता है (यदि आप ShadowJar प्लगइन का उपयोग करता है, तो):

<exclude>com.esotericsoftware.kryo:kryo</exclude> 
+0

यह –

+0

दिशा के लिए चाल नहीं है –

+0

साझा करने और सहायता करने में खुशी! – toch

संबंधित मुद्दे