【发布时间】:2015-10-10 13:52:57
【问题描述】:
我们在 Linux Ubuntu 服务器上安装了 kafka,并使用批处理文件 - kafka-console-producer.sh 和 kafka-console-consumer.sh 测试了通信发现可以发布和接收消息了
在同一网络上运行的 Windows 机器上。我们写了一个java producer client,代码如图
Properties properties = new Properties();
properties.put("metadata.broker.list","192.168.7.1:9092");
properties.put("serializer.class","kafka.serializer.StringEncoder");
ProducerConfig producerConfig = new ProducerConfig(properties);
kafka.javaapi.producer.Producer<String,String> producer = new kafka.javaapi.producer.Producer<String, String>(producerConfig);
KeyedMessage<String, String> message =new KeyedMessage<String, String>("Calamp2","Test message from java program ");
producer.send(message);
producer.close();
当我们运行客户端时,我们收到以下错误
log4j:WARN 找不到记录器的附加程序 (kafka.utils.VerifiableProperties)。 log4j:WARN 请初始化 log4j 系统正常。 log4j:WARN 见 http://logging.apache.org/log4j/1.2/faq.html#noconfig 了解更多信息。 3 次尝试发送消息失败。
我们尝试了以下
- 从 Windows 机器 ping 了 ubuntu 机器,它似乎工作正常
- 尝试了 Apache Kafka example error: Failed to send message after 3 tries 的解决方案,但没有奏效
我们观察到一件奇怪的事情,当我们在服务器上运行以下命令时 - bin/kafka-topics.sh --list --zookeeper localhost:2181 ,我们发现主题是从Java代码创建的,但消息未发布
感谢任何帮助
【问题讨论】:
标签: java ubuntu apache-kafka kafka-producer-api