java.lang.NoSuchMethodError:kafka.api.TopicMetadata.errorCode()S从Spark作业进入Kafka

时间:2018-08-14 06:46:29

标签: scala apache-spark apache-kafka spark-streaming spark-structured-streaming

我正在尝试将Spark作业中的json消息写入kafka。

tmp.toJSON.selectExpr("CAST(value AS STRING)")
      .write
      .format("kafka")
      .option("kafka.bootstrap.servers", "xxxx:9092")
      .option("topic", "test-vs")
      .save()

我在依赖项中添加了以下内容:     spark-sql-kafka-0-10_2.11,     spark-streaming-kafka_2.11,     kafka_2.1

但是我看到以下错误:

18/08/14 06:22:57 INFO VerifiableProperties: Property group.id is overridden to
    18/08/14 06:22:57 INFO VerifiableProperties: Property zookeeper.connect is overridden to
    Exception in thread "main" java.lang.NoSuchMethodError: kafka.api.TopicMetadata.errorCode()S
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$getPartitionMetadata$1$$anonfun$4.apply(KafkaCluster.scala:127)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$getPartitionMetadata$1$$anonfun$4.apply(KafkaCluster.scala:127)
    at scala.collection.TraversableLike$$anonfun$filterImpl$1.apply(TraversableLike.scala:248)
    at scala.collection.Iterator$class.foreach(Iterator.scala:893)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
    at scala.collection.TraversableLike$class.filterImpl(TraversableLike.scala:247)
    at scala.collection.TraversableLike$class.filter(TraversableLike.scala:259)
    at scala.collection.AbstractTraversable.filter(Traversable.scala:104)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$getPartitionMetadata$1.apply(KafkaCluster.scala:127)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$getPartitionMetadata$1.apply(KafkaCluster.scala:125)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$org$apache$spark$streaming$kafka$KafkaCluster$$withBrokers$1.apply(KafkaCluster.scala:346)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$org$apache$spark$streaming$kafka$KafkaCluster$$withBrokers$1.apply(KafkaCluster.scala:342)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)
    at org.apache.spark.streaming.kafka.KafkaCluster.org$apache$spark$streaming$kafka$KafkaCluster$$withBrokers(KafkaCluster.scala:342)
    at org.apache.spark.streaming.kafka.KafkaCluster.getPartitionMetadata(KafkaCluster.scala:125)
    at org.apache.spark.streaming.kafka.KafkaCluster.getPartitions(KafkaCluster.scala:112)
    at org.apache.spark.streaming.kafka.KafkaUtils$.getFromOffsets(KafkaUtils.scala:211)
    at org.apache.spark.streaming.kafka.KafkaUtils$.createDirectStream(KafkaUtils.scala:484)
    at com.roku.dea.spark.streaming.metrics.Utils.StreamingMetricsHelper.getKafkaMessages(StreamingMetricsHelper.scala:38)
    at com.roku.dea.spark.streaming.metrics.druid_test.StreamContext.createContext(StreamContext.scala:68)
    at com.roku.dea.spark.streaming.metrics.druid_test.RamsImpStreaming$$anonfun$1.apply(RamsImpStreaming.scala:64)
    at com.roku.dea.spark.streaming.metrics.druid_test.RamsImpStreaming$$anonfun$1.apply(RamsImpStreaming.scala:63)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.streaming.StreamingContext$.getOrCreate(StreamingContext.scala:826)
    at com.roku.dea.spark.streaming.metrics.druid_test.RamsImpStreaming$.main(RamsImpStreaming.scala:63)
    at com.roku.dea.spark.streaming.metrics.druid_test.RamsImpStreaming.main(RamsImpStreaming.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:743)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
    18/08/14 06:22:57 INFO SparkContext: Invoking stop() from shutdown hook
    18/08/14 06:22:57 INFO SparkUI: Stopped Spark web UI at http://ip-10-220-88-19.ec2.internal:4045

任何人都可以帮助我解决此问题。

谢谢。

0 个答案:

没有答案