一、添加依赖
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.11.0.1</version>
</dependency>
二、编程
2.1 案例一
package com.bigdata.Kafka;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import java.util.Properties;
public class ProducerJavaDemo {
public static void main(String[] args) {
//1.构建properties对象
Properties props = new Properties();
//1.1设置配置参数
//给定储存数据的kafka的broker集群地址
props.put("bootstrap.servers","superman-bigdata.com:9092,superman-bigdata.com:9093,superman-bigdata.com:9094,superman-bigdata.com:9095");
//1.2消息传输的可靠性保证 acks
//acks 一共有三个值-1,0,1
//0:不等待任何副本返回信息 1:等待leader副本接收到之后再发送下一条数据 -1:等待所有副本接收到之后再发送下一条数据
props.put("acks","1");
//1.3如果发送失败,可以重新发送
props.put("retries","0");
//1.4批量发送
props.put("batch.size","16384"); //16k
//1.5批次产生的时间间隔,一般和batch.size连用
props.put("linger.ms","1");
//1.6缓冲区的大小
props.put("buffer.memory","33554432");
//1.7key和value的序列化
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
//2.构建KafkaProducer对象
Producer<String,String> producer = new KafkaProducer<>(props);
//3.调用KafkaProducer的send方法,向kafka的集群发送数据
String topic = "beifeng0";
String key = "9999";
String value = "hello kafka";
ProducerRecord<String,String> record = new ProducerRecord<>(topic,key,value);
producer.send(record);
//4.关闭KafkaProducer对象
producer.close();
}
}
1.2 案例二
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import java.util.Properties;
public class kafkaproduct {
public static void main(String[] args) {
//1.构建设置对象
Properties p = new Properties();
//1.1设置配置参数
p.put("bootstrap.servers","liu7.com:9092,liu7.com:9093,liu7.com:9094,liu7.com:9095");
p.put("acks","1");
p.put("retries","0");
p.put("batch.size","16384");
p.put("linger.ms","1");
p.put("buffer.memory","33554432");
p.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
p.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
Producer<String,String> producer = new KafkaProducer(p);
/* String topic = "liujiwei";
String key = "9999";
String value = "hello kafka";
ProducerRecord<String,String> record = new ProducerRecord(topic,key,value);
producer.send(record);*/
for (int i=1;i<100;i++){
String topic = "liujiwei";
String key = String.valueOf(i);
String value = String.valueOf(i);
ProducerRecord<String,String> record = new ProducerRecord(topic,key,value);
producer.send(record);
}
//4.关闭KafkaProducer对象
producer.close();
}
}
来源:CSDN
作者:最美不过你回眸
链接:https://blog.csdn.net/weixin_44768806/article/details/104675477