大数据生态系统基础:Apache Kafka基础(二):最新kafka编程入门:Producer API
来源:互联网 发布:matlab mac 2015b官方 编辑:程序博客网 时间:2024/06/05 16:00
编程环境参见前面的 storm 的开发,还是使用 maven 项目。
由于使用的是 kafka 0.11.0.0版本,所以,必须在 pom.xml中加入下面一行代码:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>0.11.0.0</version>
</dependency>
package wangxn.mr;public class KafkaProperties {public static final String TOPIC = "my-topic"; public static final String KAFKA_SERVER_URL = "mymac"; public static final int KAFKA_SERVER_PORT = 9092; public static final int KAFKA_PRODUCER_BUFFER_SIZE = 64 * 1024; public static final int CONNECTION_TIMEOUT = 100000; public static final String TOPIC2 = "topic2"; public static final String TOPIC3 = "topic3"; public static final String CLIENT_ID = "SimpleConsumerDemoClient"; private KafkaProperties() {}}
使用 java 的属性类。
Properties props=new Properties();
props.put("bootstrap.servers","mymac:9092");
props.put("acks","all");
props.put("retries", 0);
props.put("batch.size",16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("client.id","Demo1Producer");
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");
还有2个参数需要定义,就是"key.serializer" 和"value.serializer",指定参数的序列化。
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");
Producer<String, String> producer=new KafkaProducer<String, String>(props);for (int i=0;i<100;i++) {producer.send(new ProducerRecord<String, String>("my-topic", Integer.toString(i),Integer.toString(i)));//new DemoCallBack(System.currentTimeMillis(), i, Integer.toString(i) ) );System.out.println("Sent message: (" + i + ", " + Integer.toString(i) + ")");}producer.close();
这样可以将信息发送到集群中。 为了表示信息发动的中间过程,所以使用了 system.out 来输出。当然最终可以使用 kafka-console-consumer.sh 来查看
三、完成的程序实例
pom.xml 一定要包含 maven 依赖啊。
package wangxn.testProducer;import java.util.Properties;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.Producer;import org.apache.kafka.clients.producer.ProducerRecord;//Here is a simple example of using the producer to send records with strings containing sequential numbers as the key/value pairs.public class RunProducer {public static void main(String[] args) {// TODO Auto-generated method stubProperties props=new Properties();props.put("bootstrap.servers", "mymac:9092");props.put("acks","all");props.put("retries", 0);props.put("batch.size",16384);props.put("linger.ms", 1);props.put("buffer.memory", 33554432);props.put("client.id", "Demo1Producer");props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); Producer<String, String> producer=new KafkaProducer<String, String>(props);for (int i=0;i<100;i++) {producer.send(new ProducerRecord<String, String>("my-topic", Integer.toString(i),Integer.toString(i)));//new DemoCallBack(System.currentTimeMillis(), i, Integer.toString(i) ) );System.out.println("Sent message: (" + i + ", " + Integer.toString(i) + ")");}producer.close();}}
四、运行
- 大数据生态系统基础:Apache Kafka基础(二):最新kafka编程入门:Producer API
- 大数据生态系统基础:Apache Kafka基础(四):最新kafka编程入门:Stream API
- 大数据生态系统基础:Apache Kafka基础(三):最新kafka编程入门:Consumer
- 大数据生态系统基础:Apache Kafka基础(一):介绍和安装
- 大数据生态系统基础:Apache Kafka基础(一):介绍和安装
- Apache Kafka编程入门指南:Producer
- Apache Kafka编程入门指南:Producer
- Apache Kafka编程入门指南:Producer篇
- Apache Kafka编程入门指南:Producer
- Kafka基础(二)
- 大数据生态系统基础:Apache Spark(二):运行环境和实例演示
- 大数据生态系统基础:Apache Spark(三):Java 版本编程实例(WordCount)
- [Apache Kafka]开发producer
- kafka Producer API使用
- Kafka Scala Producer API
- Kafka在大数据生态系统中的价值
- Kafka Producer编程一
- Apache Kafka笔记(一):基础架构
- git(十三)-git subtree
- HashMap实现原理及源码分析
- 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新6.9】
- Linux--系统yum安装软件(二)
- let、var、const的区别
- 大数据生态系统基础:Apache Kafka基础(二):最新kafka编程入门:Producer API
- 可视化基础
- 数轴染色
- 排序:冒泡与选择的改进
- python3.0网络编程
- 1144: n的合成
- libvmi安装_Ubuntu_14.04
- python学习之路-基础篇-函数-day03
- Python库之Requests(iMooc)---(3)