首页 > 解决方案 > Spark Streaming Context 阻塞 REST 端点

问题描述

我正在做一个使用 Spring Boot、Kafka 和 Spark 的小项目。到目前为止,我已经能够在一个项目中创建一个 Kafka 生产者,并作为消费者创建一个 Spark-Kafka 直接流。

我能够看到消息通过并且事情似乎按预期工作。但是,我在运行消费者的项目上有一个休息端点。每当我禁用 Direct Stream 时,端点都可以正常工作。但是,当我运行流时,邮递员说没有响应。我在服务器日志中看不到任何内容表明曾经收到过请求。

Spark 消费者在项目启动时由 bean 启动。这是否会阻止 localhost:8080 上的普通服务器启动?

标签: javaspring-bootapache-sparkapache-kafkaspark-streaming

解决方案


最初,我通过将 StreamingContext 注释为 Bean 来启动它。相反,我让应用程序实现了 CommandLineRunner,并在重写的 run 方法中调用了启动 Streaming Context 的方法。这允许 Apache 启动并解决问题。


推荐阅读