記一個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