1.所需要添加maven依赖
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
2.java连接kafka示例
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put("bootstrap.servers", "172.20.10.7:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("key.serializer", StringSerializer.class.getName());
props.put("value.serializer", StringSerializer.class.getName());
KafkaProducer<String, String> producer = new KafkaProducer<String, String>(props);
for (int i = 0; i < 10000; i++) {
producer.send(new ProducerRecord<String, String>("testA", "2223334sdddd","你好" + i));
}
producer.flush();
System.out.println("=============消息发送完成=============");
TimeUnit.SECONDS.sleep(5);
props.put("key.deserializer", StringDeserializer.class.getName());
props.put("value.deserializer", StringDeserializer.class.getName());
props.put("group.id", "asdasdas"); //设置customerGroud
props.put("max.poll.records", "20"); //设置一次获取消息条数
KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(props);
consumer.subscribe(Arrays.asList("testA")); //设置监听主题,可以监听多个
while (true) {
ConsumerRecords<String, String> records = consumer.poll(10);
System.out.println("获取消息条数为" + records.count());
for (ConsumerRecord<String, String> record : records) {
System.out.println("获取到消息" + record);
}
TimeUnit.SECONDS.sleep(1);
}
}