2019-03-20 16:33:37,787 [main] [kafka.producer.async.DefaultEventHandler]-[DEBUG] Broker partitions registered for topic: orderMq are 0
2019-03-20 16:33:37,791 [main] [kafka.producer.async.DefaultEventHandler]-[DEBUG] Sending 1 messages with no compression to [orderMq,0]
2019-03-20 16:33:37,798 [main] [kafka.producer.async.DefaultEventHandler]-[DEBUG] Producer sending messages with correlation id 2 for topics [orderMq,0] to broker 0 on hadoop1:9092
2019-03-20 16:33:49,082 [main] [kafka.producer.SyncProducer]-[ERROR] Producer connection to hadoop1:9092 unsuccessful
java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:101)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622)

我是在window本地启动,测试linux的kafka集群,在网上找过一些解决方法 列如

原因:是在集群环境里执行了单机的命令

解决方法:

1)vi producer.properties

#metadata.broker.list=localhost:9092
metadata.broker.list=192.168.11.222:9092,192.168.11.221:9092,192.168.11.220:9092 

2)./kafka-console-producer.sh --broker-list IP1:9092,IP2:9092,IP3:9092 --topic topic1

但我实际上不是这个原因导致的,是由于我本地hosts中没有配置linux的kafka集群主机对应的ip,在hosts文件中配置所有集群的别名及对应的ip就可以正常启动了,hosts文件位置为C:\Windows\System32\drivers\etc

kafka踩过的坑_linux

 

ERROR [ReplicaFetcherThread-0-1], Error for partition [FLAG_DATA_SYC,1] to broker 1:class kafka.common.UnknownTopicOrPartitionException (kafka.server.ReplicaFetcherThread)
这个是我遇到的第二个问题,是由于我执行了删除topic操作但是没有完全删除,在我执行程序的时候就报错了

彻底删除topic,这个问题就能解决,topic路径,就是在你配置的config/server.properties中配置的,

kafka踩过的坑_linux_02

kafka踩过的坑_java_03

 删除之后再执行程序就不会报错了