我尝试提交简单的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。任何建议将不胜感激。
答案 0 :(得分:0)
我今天遇到了同样的问题。就我而言,问题是我未能将我的 flink 应用程序放在 VPC 中(我的 MSK 集群位于 VPC 中)。编辑好flink应用,移动到合适的VPC后,问题就解决了。
我意识到这个问题已经有几个月了,但我想我会发布我的发现,以防其他人像我一样从 Google 搜索中遇到这个问题。