Delay in Consumer consuming messages in Apache Kafka
Try to add
props.put("request.required.acks", "1")
to producer configuration. By default producer doesn't wait for acks and message delivery is not guaranteed. So, if you start broker just before your test, producer may start to send messages before broker is fully initialized and first several messages may be lost.Try to add
props.put("auto.offset.reset", "smallest")
to consumer configuration. It is equal to--from-beginning
option of kafka-console-consumer.sh. If your consumer starts later than producer and there is no offset data saved in Zookeeper, then by default it will start consuming only new messages (see Consumer configs in docs).