【问题标题】:flink events are coming to jobmanager but not to taskmanager in clusterflink 事件将发送到作业管理器,但不会发送到集群中的任务管理器
【发布时间】:2020-12-03 06:40:14
【问题描述】:

我正在尝试在集群上运行 flink 应用程序。应用部署成功,可以看到jobmanger和taskmanager正在运行,资源注册成功。

应用程序需要虚拟事件,它工作正常,sql 查询也返回结果(通过任务管理器)。

问题:应用程序从消息中心接收事件,但这些消息仅通过作业管理器发送到任务管理器以在集群(独立)中执行。但它适用于 intelliJ。

我知道如果它会有 kafka 然后 addSource(new FlinkKafkaConsumer()) 工作,但对我来说我必须注册回调然后消息出现 onEvent。

是否有任何机制可以帮助从集群中的作业管理器向任务管理器发送事件?

【问题讨论】:

    标签: apache-flink flink-streaming flink-sql flink-batch


    【解决方案1】:

    不应在 JobManager 上处理事件。该行为的一个可能原因是您使用本地执行程序启动应用程序。您能否仔细检查一下您是如何创建流环境的?

    【讨论】:

    • 谢谢,我正在使用 "final StreamExecutionEnvironment executionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment()" 。要接收事件,我必须配置应用程序侦听器,我认为侦听器成为 jobmanager 的一部分。(只是猜测)
    • @Ashutosh,如果可能,您能否解释一下,为什么需要注册回调以及如何使用事件?谢谢。
    • 感觉好像您没有使用正确的源,而是一些自定义解决方案,仅在创建 DAG 时消耗事件。它可能只在本地执行器中工作。
    猜你喜欢
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多