链接kafka抛错

来源:8-8 Flink对接Kafka作为Source使用

小小de

2019-11-10

Exception in thread “main” org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
at org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:146)
at org.apache.flink.runtime.minicluster.MiniCluster.executeJobBlocking(MiniCluster.java:647)
at org.apache.flink.streaming.api.environment.LocalStreamEnvironment.execute(LocalStreamEnvironment.java:123)
at org.apache.flink.streaming.api.scala.StreamExecutionEnvironment.execute(StreamExecutionEnvironment.scala:654)
at com.imooc.flink.course08.KafkaConnectorConsumerApp$.main(KafkaConnectorConsumerApp.scala:26)
at com.imooc.flink.course08.KafkaConnectorConsumerApp.main(KafkaConnectorConsumerApp.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata

请问老师,这个是什么原因?

写回答

4回答

小小de

提问者

2019-11-10


server.properties配置

listeners=PLAINTEXT://192.168.2.110:9092

advertised.listeners=PLAINTEXT://192.168.2.110:9092


问题解决



1
0

小小de

提问者

2019-11-10

网上查了一下,是这个原因吗?

原因是发布到zookeeper的advertised.host.name如果没有设置,默认取java.net.InetAddress.getCanonicalHostName().值,被用于生产端和消费端。因此外部网络或者未配置hostname映射的机器访问kafka集群时就会有网络问题了。

原因是kafka客户端连接到broker是成功的,但连接到集群后更新回来的集群meta信息是错误的即是会返回的是节点的hostname,解决办法就是手动配置advertised.host.name和advertised.port,2个参数都必须配置,重启问题解决:

advertised.host.name=10.0.0.100
advertised.port=9092


1
0

小小de

提问者

2019-11-10

客户端生产和消费链接正常

 ./kafka-console-producer.sh --broker-list 192.168.2.110:9092 --topic test

>ss

./kafka-console-consumer.sh --bootstrap-server 192.168.2.110:9092 --topic test

ss




0
1
Michael_PK
都是在一个机器吗?你这十之八九是通信有问题,这个错Google下
2019-11-10
共1条回复

Michael_PK

2019-11-10

你的kafka和zk通信应该有问题,导致超时。你可以用kafka的客户端生产和消费测试验证下

0
0

新一代大数据计算引擎 Flink从入门到实战

入行或转型大数据新姿势,多语言系统化讲解,极速入门Flink

969 学习 · 296 问题

查看课程