这是我们的开发环境
1)kafka集群 - 版本为0.10 2)Spark集群 - 1.6具有0.9 Kafka罐子
我们正在尝试在spark集群模式下生成()和consume()。 (通过spark-submit)
在运行spark-submit工作时,spark选择0.9版本的kafka。以下是我们的观察
1)制作人 - 工作正常(0.9 api和0.10 api制作人兼容) 2)使用KafkaUtils流卡夫卡消费者 - 工作正常(似乎这里也是0.9 api和0.10 api生产者兼容) 3)使用subscribe()API的消费者 - 出错以及以下消息。有人可以帮助我们知道它为什么会失败吗?
16/10/24 02:31:08错误yarn.ApplicationMaster:用户类抛出异常:java.lang.NoSuchMethodError:org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava / util / Collection;) V java.lang.NoSuchMethodError:org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava / util / Collection;)V 在com.common.kafka.init(Kafkafunction.java:150) 在com.client.Client.main(Client.java:100) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) 在org.apache.spark.deploy.yarn.ApplicationMaster $$ anon $ 2.run(ApplicationMaster.scala:542) 16/10/24 02:31:08 INFO yarn.ApplicationMaster:最终应用状态:FAILED,exitCode:15,(原因:用户类抛出异常:java.lang.NoSuchMethodError:org.apache.kafka.clients.consumer.KafkaConsumer .subscribe(Ljava / UTIL /收藏;)V)
答案 0 :(得分:1)
将所有内容更新到onError
可以解决问题。这些版本在此行0.10