代码之家  ›  专栏  ›  技术社区  ›  Bankelaal

实例化JavaStreamingContext时发生AbstractMethodError异常

  •  0
  • Bankelaal  · 技术社区  · 7 年前

    我在创建JavaStreamingContext时遇到AbstractMethodError异常。

        <dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.11</artifactId>
            <version>2.2.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming-kafka-0-10 -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka-0-10_2.11</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.10</artifactId>
            <version>0.8.2.2</version>
        </dependency>
    

    线程“main”java.lang.AbstractMethodError中出现异常 位于org.apache.spark.util.ListenerBus$class.$init$(ListenerBus.scala:35) 位于org.apache.spark.streaming.scheduler.StreamingListenerBus.(StreamingListenerBus.scala:30) 位于org.apache.spark.streaming.scheduler.JobScheduler.(JobScheduler.scala:57) 位于org.apache.spark.streaming.StreamingContext(StreamingContext.scala:184)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Nonontb    7 年前

    你在这里混合了很多版本的Spark
    首先,如果您使用的是ApacheSpark2.3.1和Kafka0.10+

    <dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.11</artifactId>
            <!-- Keep the same Spark version as before -->
            <version>2.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming-kafka-0-10 -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka-0-10_2.11</artifactId>
            <!-- Keep the same Spark version as before -->
            <version>2.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.10</artifactId>
            <!-- Support for kafka version 0.8 is deprecated as of Spark 2.3.1 and you add the dependencies for kafka 0.10+ above -->
            <version><your_kafka_version_0.10+></version>
        </dependency>
    

    很高兴知道您是如何构建/部署应用程序的?根据您的运行时环境,您可能希望添加一些提供的作用域,以防止生成的包与现有环境之间发生冲突。

    希望能有帮助