【问题标题】:Apache kafka cluster using MapR Spark streaming not working使用 MapR Spark 流的 Apache kafka 集群不起作用
【发布时间】:2016-08-16 16:52:24
【问题描述】:

我们在使用 MapR Spark 流 (1.6.1) 连接到 Apache kafka 集群时遇到问题。具体设置如下:

• 使用 Spark 1.6.1 的 MapR 集群(3 节点集群)

• Apache Kafka 集群 v0.8.1.1(5 节点集群)

我们正在使用 mapr v1.6.1-ampr-1605 中的“spark-streaming-kafka”库。我们还尝试使用 apache spark(不是 mapr spark)在本地模式下运行,效果很好。

以下是错误的堆栈跟踪:

Exception in thread "main" org.apache.kafka.common.config.ConfigException: No bootstrap urls given in bootstrap.servers
        at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:57)
        at org.apache.kafka.clients.consumer.KafkaConsumer.initializeConsumer(KafkaConsumer.java:606)
        at org.apache.kafka.clients.consumer.KafkaConsumer.partitionsFor(KafkaConsumer.java:1563)
        at org.apache.spark.streaming.kafka.v09.KafkaCluster$$anonfun$getPartitions$1$$anonfun$1.apply(KafkaCluster.scala:54)
        at org.apache.spark.streaming.kafka.v09.KafkaCluster$$anonfun$getPartitions$1$$anonfun$1.apply(KafkaCluster.scala:54)
        at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
        at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
        at scala.collection.immutable.Set$Set1.foreach(Set.scala:74)
        at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
        at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
        at org.apache.spark.streaming.kafka.v09.KafkaCluster$$anonfun$getPartitions$1.apply(KafkaCluster.scala:53)
        at org.apache.spark.streaming.kafka.v09.KafkaCluster$$anonfun$getPartitions$1.apply(KafkaCluster.scala:52)
        at org.apache.spark.streaming.kafka.v09.KafkaCluster.withConsumer(KafkaCluster.scala:164)
        at org.apache.spark.streaming.kafka.v09.KafkaCluster.getPartitions(KafkaCluster.scala:52)
        at org.apache.spark.streaming.kafka.v09.KafkaUtils$.getFromOffsets(KafkaUtils.scala:421)
        at org.apache.spark.streaming.kafka.v09.KafkaUtils$.createDirectStream(KafkaUtils.scala:292)
        at org.apache.spark.streaming.kafka.v09.KafkaUtils$.createDirectStream(KafkaUtils.scala:397)
        at org.apache.spark.streaming.kafka.v09.KafkaUtils.createDirectStream(KafkaUtils.scala)
        at com.cisco.it.log.KafkaDirectStreamin2.main(KafkaDirectStreamin2.java:111)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:742)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

PS:我们在创建连接时传递“metadata.broker.list”。 Spark 流应用程序无法连接到 ZK 并且无法获取引导 URL。这是我的理解。或者它可能是没有正确版本的 map-r 和 kafka jar 的问题。我们从 Map-r 端拿了 jar,但仍然无法正常工作。

我们能够成功地使用 apache spark 进行测试,但无法让它在 mapr 上运行。

任何帮助appericated。

【问题讨论】:

    标签: apache-kafka spark-streaming mapr


    【解决方案1】:

    在您的堆栈跟踪中有对org.apache.spark.streaming.kafka.v09 的引用,这可能意味着它是使用新消费者 API 的实现,该 API 随 Kafka 0.9 提供,不适用于 Kafka 0.8.1.1。您可能应该尝试使用 MapR's spark-streaming-kafka_2.10 中的库之一。

    【讨论】:

    • 感谢您的回复。但这没有帮助。我们仍在调试问题。
    猜你喜欢
    • 1970-01-01
    • 2020-10-29
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多