kafka Failed to send messages after 3 tries

本文探讨了在Kafka 0.8版本中遇到的消息发送失败问题,详细分析了问题出现的原因,并给出了两种有效的解决方案:一是配置hosts文件来正确映射ZooKeeper服务器;二是直接修改kafka配置文件中的主机名。

 

kafka Failed to send messages after 3 tries.

 

在kafka0.8开发过程中 生产者测试用例碰到了

Exception in thread "main" kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)
at kafka.producer.Producer.send(Producer.scala:76)
at kafka.javaapi.producer.Producer.send(Producer.scala:33)
at com.tuan55.kafka.test.TestP.main(TestP.java:20)

这样的错误。

起初以为是网络问题,经确认网络没有问题。

 

Properties props = new Properties();
props.put("metadata.broker.list", "xx.xx.xx.xx:9092");
props.put("serializer.class", "kafka.serializer.StringEncoder");
props.put("request.required.acks", "1");
ProducerConfig config = new ProducerConfig(props);
Producer<String, String> producer = new Producer<String, String>(config);
KeyedMessage<String, String> km = new KeyedMessage<String, String>("mm", "key-1", "content-1-中文");
producer.send(km);


producer.close();

这是生产者的代码 在向服务器发起连接后,在kafka的服务器配置kafka server.properties文件配置zookeeper使用了机器名,这时候kafka会在本地查找zookeeper

 

那么如果我们的hosts 中没有做hosts的配置 kafka经多次尝试连接不上就会报上面的错误。

 

解决办法:1、配置hosts文件 做zookeeper服务器的映射配置。

                  2、更改kafaka host.name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值