【发布时间】:2018-03-28 09:49:31
【问题描述】:
我正在尝试使用KafkaProducer 对象,我遵循this guide 来实现这一目标。下面是正在使用的代码:
private final KafkaProducer producer;
private final Serializer serializer;
public KafkaEventPublisher(String zookeeper, Serializer serializer) {
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, zookeeper);
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.CLIENT_ID_CONFIG, "KafkaProducerTest");
this.producer = new KafkaProducer<>(props);
this.serializer = serializer;
}
@Override
public <T extends Event> void publish(String streamName, T event) {
try {
String eventEnvelopeJson = serializer.serialize(event);
ProducerRecord<String, String> record = new ProducerRecord<>(streamName, event.getId().toString(), eventEnvelopeJson);
this.producer.send(record);
} finally {
this.producer.flush();
this.producer.close();
}
}
提供的 zookeeper 字符串的值为localhost:2181。下面是我的 docker-compose 文件:
version: '3'
services:
rabbitmq:
image: rabbitmq:management-alpine
ports:
- "5672:5672"
- "15672:15672"
zookeeper:
image: zookeeper:3.4
ports:
- "2181:2181"
kafka-manager:
image: sheepkiller/kafka-manager
ports:
- "9000:9000"
environment:
- ZK_HOSTS=zookeeper:2181
depends_on:
- zookeeper
links:
- zookeeper
当我尝试运行测试用例并测试上述代码时,我的 docker-compose 视图会收到此错误消息的垃圾邮件,最终测试用例会超时。
keeper_1 | 2018-03-28 09:05:34,828 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37638
zookeeper_1 | 2018-03-28 09:05:34,829 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:34,829 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37638 (no session established for client)
zookeeper_1 | 2018-03-28 09:05:35,689 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37640
zookeeper_1 | 2018-03-28 09:05:35,692 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:35,693 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37640 (no session established for client)
zookeeper_1 | 2018-03-28 09:05:36,772 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37642
zookeeper_1 | 2018-03-28 09:05:36,773 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:36,773 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37642 (no session established for client)
zookeeper_1 | 2018-03-28 09:05:37,772 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37644
zookeeper_1 | 2018-03-28 09:05:37,773 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:37,773 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37644 (no session established for client)
zookeeper_1 | 2018-03-28 09:05:38,877 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37646
zookeeper_1 | 2018-03-28 09:05:38,880 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:38,880 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37646 (no session established for client)
zookeeper_1 | 2018-03-28 09:05:40,061 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37648
zookeeper_1 | 2018-03-28 09:05:40,062 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:40,062 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37648 (no session established for client)
zookeeper_1 | 2018-03-28 09:05:41,017 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.20.0.1:37650
zookeeper_1 | 2018-03-28 09:05:41,019 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@383] - Exception causing close of session 0x0: null
zookeeper_1 | 2018-03-28 09:05:41,019 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - Closed socket connection for client /172.20.0.1:37650 (no session established for client)
我无法在网上找到有关此错误的任何答案。我希望有人能帮我解决这个问题。
【问题讨论】:
标签: java docker apache-kafka docker-compose apache-zookeeper