kafka Producer 异常记录
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Failed to send producer request with correlation id 11 to broker 0 with data for partitions [my-topic,1] 解决办法:修改kafka service配置文件加入advertised.host.name=服务器ip地址 把值设置为空的话会kafka监听端口在所有的网卡上绑定。但是在外网访问时,客户端又遇到了java.nio.channels.ClosedChannelException异常信息,server端用tcpdump分析的时候发现客户端有传递kafka所在机器的机器名过来。在client里断点跟踪一下发现是findLeader的时候返回的元信息是 机器名 而不是IP。客户端无法解析这个机器名所以出现了前面的异常。 在server.properties 里还有另一个参数是解决这个问题的 advertised.host.name 参数用来配置返回的host.name值,把这个参数配置为外网IP地址即可。这个参数默认没有启用,默认是返回的java.net.InetAddress.getCanonicalHostName的值,在我的电脑上这个值并不等于hostname的值而是返回IP