readStream kafka 没有得到任何值

readStream kafka doesn't get any values

我正在尝试通过 spark-shell 中的 Spark 结构化流阅读 Kafka 主题,但似乎我没有从 Kafka 获得任何信息。

Kafka 单独运行良好(通过控制台消费者和控制台生产者测试):

~/opt/bd/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic testtopic --from-beginning
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
first
thrid
fifth
seventh
eight
bla
blal2
das ist 
testmaschine
hallo
kleiner
blsllslsd

这是我在 spark-运行 中的代码-shell:

ds1 = spark
  .readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", "localhost:2181")
  .option("subscribe", "testtopic")
  .option("startingOffsets" , "earliest")
  .load()

ds1.writeStream.format("console").start

我期待我得到已经存储在 Kafka 中的该主题的消息,并且所有消息都将打印在 Spark shell 中。但是没有打印任何东西。 我的错误在哪里? 我正在使用 Spark 2.0.2 和 Kafka 010.2。

您需要更改 Kafka bootstrap 服务器的端口。像这样-

ds1 = spark
  .readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", "localhost:9092")
  .option("subscribe", "testtopic")
  .option("startingOffsets" , "earliest")
  .load()

ds1.writeStream.format("console").start

然后您将能够从 readStream.

中获取值

希望对您有所帮助!