記一個CDS的細節錯誤(java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe)
阿新 • • 發佈:2020-07-20
在使用 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。在
更改步驟:
1.進入 CDH 的 Spark2 配置介面,在搜尋框中輸入 "SPARK_KAFKA_VERSION",如圖
可以看到,預設是 0.9 版本,如果不去修改,在執行時會因為版本問題導致報錯。
2.選擇對應的版本。當前 CDK 的版本是4.1.0,對應 KAFKA 版本為 2.2.1,此時可以選擇 NONE ,即選用叢集上的 KAFKA-CLIENT
3.儲存重啟,問題解決