订阅方法在从kafka(0.10版本)访问kafka(0.90版本)时抛出错误



这是我们的开发环境

1) kafka集群-版本是0.102) Spark集群- 1.6,有0.9个Kafka jar

我们尝试在spark集群模式下生产()和消费()。(通过spark-submit)

运行spark-submit作业时,spark选择0.9版本的kafka。以下是我们的观察

1)生产者-工作正常(0.9 api和0.10 api生产者兼容)2)使用KafkaUtils流式传输Kafka消费者-工作良好(这里似乎也兼容0.9 api和0.10 api生产者)3)使用subscribe() API的消费者——错误提示以下消息。谁能告诉我们为什么它失败了?

16/10/24 02:31:08 ERROR yarn。ApplicationMaster:用户类抛出异常:java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer. kafkconsumer .subscribe(Ljava/util/Collection;)Vjava.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe (Ljava/util/集合;Vcom.common.kafka.init (Kafkafunction.java: 150)com.client.Client.main (Client.java: 100)在sun.reflect.NativeMethodAccessorImpl。invoke0(本地方法)在sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 57)sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)java.lang.reflect.Method.invoke (Method.java: 606)在org.apache.spark.deploy.yarn.ApplicationMaster不久美元2.美元运行(ApplicationMaster.scala: 542)16/10/24 02:31:08 INFO纱线。ApplicationMaster:最终应用状态:FAILED, exitCode: 15,(原因:用户类抛出异常:java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer. kafkconsumer .subscribe(Ljava/util/Collection;)V)

将所有内容更新到0.10解决了这个问题。这些版本在这一行肯定是不兼容的org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;)V

最新更新