记一个CDS的细节错误(java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe)


在使用 CDH 提交 Kafka-SparkStreaming 作业的时候遇上了一个版本问题,特此记录:

主要报错信息:

Exception in thread "streaming-start" java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;

产生这个错误的原因是运行时使用的 Kafka-Client 版本高于 CDS 默认的 Kafka-Client 版本

原因分析:

通过官网介绍:https://www.cloudera.com/documentation/spark2/latest/topics/spark2_kafka.html#running_jobs。在 KAFKA 集成 SPARK2 时,需要在 CDH 中进行设置。官网介绍了两种方法,这里采用第二种。

更改步骤:

1.进入 CDH 的 Spark2 配置界面,在搜索框中输入 "SPARK_KAFKA_VERSION",如图

可以看到,默认是 0.9 版本,如果不去修改,在运行时会因为版本问题导致报错。

2.选择对应的版本。当前 CDK 的版本是4.1.0,对应 KAFKA 版本为 2.2.1,此时可以选择 NONE ,即选用集群上的 KAFKA-CLIENT

3.保存重启,问题解决


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM