kafka例子
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<version>2.7.0</version>
</dependency>
</dependencies>
生产者
package com.test.producer; import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer; import java.util.Properties; public class MyProducer { public static void main(String[] args) { Properties properties = new Properties(); properties.put("bootstrap.servers", "localhost:9092");
// ack
properties.put("acks", "all");
// 重试次数
properties.put("retries", 1);
// 批次大小
properties.put("batch.size", 16384);
// 等待时间
properties.put("linger.ms", 1);
// 缓冲区大小
properties.put("buffer.memory", 33554432);
// 设置数据key和value的序列化处理类
properties.put("key.serializer", StringSerializer.class);
properties.put("value.serializer", StringSerializer.class); KafkaProducer<String, String> produce = new KafkaProducer<>(properties); for (int i=0; i < 2; i++) {
produce.send(new ProducerRecord<>("test","key-"+i,"value--" + i));
} produce.close(); }
}
消费者
package com.test.consumer; import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.StringDeserializer; import java.time.Duration;
import java.util.Arrays;
import java.util.Properties; public class MyConsumer { public static void main(String[] args) { Properties properties = new Properties(); properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9092");
// 自动提交
properties.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,true);
// 提交延时
properties.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG,"1000");
// 反序列化
properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
// 消费者组
properties.put(ConsumerConfig.GROUP_ID_CONFIG,"bigdata"); // 重置消费者的offset(换组、offset过期)
properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,"earliest"); KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(properties); // 订阅主题
consumer.subscribe(Arrays.asList("test")); // 获取数据
while (true){
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100)); for(ConsumerRecord<String,String> record: records){
System.out.println("key:" + record.key() + "" + ",value:" +record.value()); }
} }
}
带有callback的生产者
package com.test.producer; import org.apache.kafka.clients.producer.*;
import org.apache.kafka.common.serialization.StringSerializer; import java.util.Properties; public class CallbackProducer { public static void main(String[] args) { Properties properties = new Properties(); properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9092");
properties.put("key.serializer", StringSerializer.class);
properties.put("value.serializer", StringSerializer.class); KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties); for (int i=0; i < 10; i++) {
producer.send(new ProducerRecord<>("test","1","tt--" + i), (metadata, exception) -> {
if (exception == null){
System.out.println(metadata.partition() + "--" + metadata.offset()) ;
} else {
exception.printStackTrace();
}
});
} producer.close(); } }
kafka例子的更多相关文章
- kafka例子程序
//生产端 产生数据 /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor li ...
- flume+kafka+hbase+ELK
一.架构方案如下图: 二.各个组件的安装方案如下: 1).zookeeper+kafka http://www.cnblogs.com/super-d2/p/4534323.html 2)hbase ...
- 部分转 php kafka
Step 1: 下载Kafka (官网地址:http://kafka.apache.org) Kafka入门经典教程 http://www.aboutyun.com/thread-12882-1-1. ...
- [Flume][Kafka]Flume 与 Kakfa结合例子(Kakfa 作为flume 的sink 输出到 Kafka topic)
Flume 与 Kakfa结合例子(Kakfa 作为flume 的sink 输出到 Kafka topic) 进行准备工作: $sudo mkdir -p /flume/web_spooldir$su ...
- [Spark][kafka]kafka 生产者,消费者 互动例子
[Spark][kafka]kafka 生产者,消费者 互动例子 # pwd/usr/local/kafka_2.11-0.10.0.1/bin 创建topic:# ./kafka-topics.sh ...
- springboot 1.5.2 集成kafka 简单例子
添加依赖 compile("org.springframework.kafka:spring-kafka:1.1.2.RELEASE") 添加application.propert ...
- kafka集群配置和java编写生产者消费者操作例子
kafka 安装 修改配置文件 java操作kafka kafka kafka的操作相对来说简单很多 安装 下载kafka http://kafka.apache.org/downloads tar ...
- 搞定springboot项目连接远程服务器上kafka遇到的坑以及完整的例子
版本 springboot 2.1.5.RELEASE kafka 2.2 遇到的坑 用最新的springboot就要用最新的kafka版本! 当我启动云服务器上的zk后,再启动kafka后台日志也没 ...
- kafka 0.11 spark 2.11 streaming例子
""" Counts words in UTF8 encoded, '\n' delimited text received from the network every ...
- Java实现Kafka的生产者和消费者例子
Kafka的结构与RabbitMQ类似,消息生产者向Kafka服务器发送消息,Kafka接收消息后,再投递给消费者.生产者的消费会被发送到Topic中,Topic中保存着各类数据,每一条数据都使用键. ...
随机推荐
- SpringMVC学习day03
第1个springmvc程序 这是根据狂神说视频和资料学习的,用于加强自己的记忆 入门学习 1. 步骤: 1.新建一个Moudle , springmvc-02-hello , 添加web的支持! 2 ...
- eval()
s='12*2'd=eval(s)#字符串运算函数print(d) 结果: 24
- 【服务器数据恢复】Linux服务器分区不能挂载的数据恢复案例
服务器数据恢复环境:某品牌PowerEdge系列服务器,磁盘阵列存储型号为该品牌MD3200系列存储,分配lun:linux centos 7操作系统,EXT4文件系统. 服务器故障:服务器在工作中由 ...
- php json_encode 斜杠 反斜杠 转义处理
$data = str_replace("\\\\n", "\\n", \jsonEncode($data)); // \\n转为\n $data = str_ ...
- 使用Git GUI Here进行推送时产生报错
许多小伙伴在刚使用git时都会遇到这个问题,在推送一次内容之后,想要再次推送新的数据产生报错 下面就是我们的错误提示: 我们需要先把数据进行更新 找到Remote-->Fetch from--& ...
- go语言的结构体、指针、方法详解
资源来自:https://blog.csdn.net/DXB2021/article/details/122652779 结体体定义如下: type author struct{ field1 typ ...
- apk反编译工具--dex2jar
dex2jar 2.1 https://github.com/pxb1988/dex2jar/releases 链接: https://pan.baidu.com/s/1ZU16mPE_QNhzWxF ...
- Java课后总结2
特殊之处:有两个名称一摸一样的方法square(),但是两种方法的返回值的数据类型以及参数的数据类型都是不同的,一个为int一个为double. 运行结果:The square of integer ...
- 修改 input框、textarea框的placeholder样式
/* 设置input框提示内容的样式 */ input::-webkit-input-placeholder { font-size: 14px; color: #ccc; font-weight: ...
- 在Ubuntu19.04系统中安装Emacs遇到的问题
安装显示部分依赖软件包现在无法安装 发现emacs26无法安装 后来查阅资料,发现在Ubuntu18版本及以上就不需要更新了 即不需要以下操作: sudo apt update 同时安装也需要将ema ...