与kafka问题有关的链接:获取主题元数据时超时已过期

时间:2020-05-30 22:43:30

标签: apache-kafka apache-flink

我尝试提交简单的flink作业以接受来自kafka的消息,但是提交作业后不到一分钟,该作业因以下kafka异常而失败。我的本地计算机上运行的是kafka 2.12,并且已经配置了此作业使用的主题。

public static void main(String[] args) throws Exception {
    Properties properties = new Properties();
    properties.setProperty("bootstrap.servers", "127.0.0.1:9092");
    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    DataStream<String> kafkaData = env
            .addSource(new FlinkKafkaConsumer<String>("test-topic",
                    new SimpleStringSchema(), properties));
    kafkaData.print();
    env.execute("Aggregation Job");
}

例外:

Job has been submitted with JobID 5cc30fe72f685406126e2f5a26f10341
------------------------------------------------------------
 The program finished with the following exception:

org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: org.apache.flink.client.program.ProgramInvocationException: Job failed (JobID: 5cc30fe72f685406126e2f5a26f10341)
        at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:335)
 ...
Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata

I saw another question in stackoverflow,但这不能解决问题。我尚未在kafka代理上配置任何SSL。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我今天遇到了同样的问题。就我而言,问题是我未能将我的 flink 应用程序放在 VPC 中(我的 MSK 集群位于 VPC 中)。编辑好flink应用,移动到合适的VPC后,问题就解决了。

我意识到这个问题已经有几个月了,但我想我会发布我的发现,以防其他人像我一样从 Google 搜索中遇到这个问题。