报错内容:
org.apache.kafka.common.errors.TimeoutException: Expiring 4 record(s) for te
解决办法:
yml文件日志级别调整到debug
logging:
level:
root: debug
出现报错信息:
java.io.IOException: Can't resolve address: iZt4nh3noc7dunuyk2rlvfZ:9092
at org.apache.kafka.common.network.Selector.doConnect(Selector.java:223) ~[kafka-clients-1.0.1.jar:na]
at org.apache.kafka.common.network.Selector.connect(Selector.java:202) ~[kafka-clients-1.0.1.jar:na]
原因分析:
可知建立socket时不能解析kafka所在服务器地址
查看日志可知,解析的地址是izwz9c79fdwp9sb65vpyk3z
这个地址是远程服务器的实例名称(阿里云服务器)。自己配置的明明是ip,程序内部却去获取他的别名,那如果生产者所在机器上没有配置这个ip的别名,就不能解析到对应的ip,所以连接失败报错。
解决
windows则去添加一条host映射
C:\Windows\System32\drivers\etc\hosts
linux则
vi /etc/hosts
新增内容
39.108.61.252 izwz9c79fdwp9sb65vpyk3z