我确信我错过了一些设置,但不确定是哪一个。使用kafka 0.9.0和kafka部署在主机上。我正在运行包含我的Java App的Docker容器,它产生消息。
当我在主机上部署java app时,它工作正常,所有消息都排队,但不是从容器内部排队。日志中未发现任何错误。
这是我的制作人设置
public void configureProducer() {
Properties props = new Properties();
props.put("bootstrap.servers", env.getProperty("kafka.bootstrap.servers"));
props.put("acks", env.getProperty("kafka.ack"));
props.put("retries", env.getProperty("kafka.retries"));
props.put("batch.size", env.getProperty("kafka.batch.size"));
props.put("linger.ms", env.getProperty("kafka.linger.ms"));
props.put("buffer.memory", env.getProperty("kafka.buffer.memory"));
props.put("key.serializer", env.getProperty("kafka.key.serializer"));
props.put("value.serializer", env.getProperty("kafka.value.serializer"));
producer = new KafkaProducer<>(props);
}
和价值
kafka.bootstrap.servers=myhost.dev:9092
kafka.ack=0
kafka.retries=0
kafka.batch.size=16384
kafka.linger.ms=1
kafka.buffer.memory=33554432
kafka.key.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.value.serializer=org.apache.kafka.common.serialization.StringSerializer