添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在使用 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.保存重启,问题解决