Spark Streaming df.writeStream不生成任何输出

问题描述 投票:0回答:1

我正在使用hdp 沙盒2.6.4,并且在本地计算机(主机)上配置了spark。

我已经使用shell登录到docker映像,并启动了一个简单的控制台使用者。我正在尝试在我的本地计算机(不是docker容器)上使用Spark来使用它。它没有给出任何错误。但是,它也不提供任何输出。

 def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder.appName("demo")
      .master("local[*]")
      .getOrCreate()
    spark.sparkContext.setLogLevel("WARN")
    import spark.implicits._
    val df = spark.readStream.
                      format("kafka").
                      option("kafka.bootstrap.servers", "localhost:6667").
                      option("subscribe", "test").
                      load()

    val query = df.writeStream
      .outputMode("append")
      .format("console")
      .start()

    query.awaitTermination()

  }

如果我登录到docker image并启动另一个控制台生产者,则可以使用所有消息。我已经检查了端口,并且从docker到主机是开放的。

scala apache-spark apache-kafka spark-structured-streaming
1个回答
0
投票

我怀疑VM内的Docker容器内的kafka代理的advertised.listener没有针对外部连接进行配置>>

© www.soinside.com 2019 - 2024. All rights reserved.