使用Kafka进行Spark流式传输 - java.lang.ClassNotFoundException:org.apache.spark.internal.Logging

时间:2017-09-15 08:30:20

标签: apache-kafka spark-streaming

我目前陷入了困境。我尝试使用Spark Streaming与Kafka和MongoDB一起实现Kafka偏移处理逻辑。进出MongoDB的偏移量持久性做了它应该做的事情,但当我尝试使用以下方法创建直接流时:

JavaInputDStream<ConsumerRecord<String, String>> events = KafkaUtils.createDirectStream(
    jsc,
    LocationStrategies.PreferConsistent(),
    ConsumerStrategies.<String, String>Assign(committedOffsetRanges.keySet(),kafkaParams, committedOffsetRanges)
);

我得到以下异常(为简洁起见删除了很多行):

at org.apache.spark.streaming.kafka010.ConsumerStrategies.Assign(ConsumerStrategy.scala)
    Caused by: java.lang.ClassNotFoundException: org.apache.spark.internal.Logging

我使用以下依赖项:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>${spark-version}</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_2.10</artifactId>
    <version>${spark-version}</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming-kafka-0-10-assembly_2.10</artifactId>
    <version>2.2.0</version>
</dependency>

$ {spark-version}设置为&#34; 1.6.0-cdh5.12.1&#34;。 我已经读过org.apache.spark.internal.Logging存在至1.5的Spark版本,但不幸的是我无法降级。 嗯......有没有人找到解决方案或至少解决方法?

0 个答案:

没有答案