kafka 学习笔记(二)之Java Producer客户端

原创 2015年07月10日 08:24:07

软件神马的装好了,该写代码了,首先学习Producer。

Tutorial的代码只能用来玩,我们真正要做的是用Kafka嵌入到我们自己的程序中。因此用java客户端创建自己的consumer和producer才是正经事。下面我们来看正经事!

先来看看producer的Java客户端,这里介绍如何配置以及新建一个producer。并用自带的命令行console来测试新建的producer。

这里有代码,我们用这个代码来demo https://github.com/gwenshap/kafka-examples


代码在github上,因此我们要下载下来

git clone https://github.com/gwenshap/kafka-examples

我放在workspace 文件夹里,cd进入SimpleCounter文件夹,使用Maven

#mvn install

显示success

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

ls 会发现多出一个叫target的文件夹,OK.成功了


查看创建的topic first

bin/kafka-topics.sh --list --zookeeper localhost:2181


开consumer的时候发生了错误:

WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: Connection refused
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)

OMG!这是什么鬼?!

哦,原来是没开zookeeper,好,这就开

bin/zookeeper-server-start.sh config/zookeeper.properties &


先开自带的consumer console :

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test1 (test1是我以前创建的一个topic)

另外开一个窗口,再开producer:

./run_params.sh localhost:9092 test1 old sync 500 10  (sync是说同步的,producer写一个,consumer就出一个)

看consumer 窗口:


这几个数就一个一个的出现了。下面是运行总时间。代码里是0.5秒数一个数,加上一些overhead的delay,5392ms,正常


不错,挺好玩。我们再来玩一个不同步的 (producer写完,consumer一次性打出来,不是一个一个出现的)

 ./run_params.sh localhost:9092 test1 old async 500 10


可以看到,这个速度快了,因为是batch的,不用一个消息一个消息的等,而是producer发布10个消息之后一起传出来的。


counter类型参数改成new也是一个样的。

Procuder 的代码写完了,下一篇即将写consumer的。

kafka 0.10.0 producer java代码实现

首先导入包 将kafka目录下的libs中的jar包导入 用maven建立 org.apache.kafka kafka-clients 0.10....
  • qq_26479655
  • qq_26479655
  • 2016年09月16日 14:06
  • 2583

kafka java代码的使用[Producer和Consumer]

用java代码对kafka消息进行消费与发送,首先我们得引入相关jar包   maven:   org.apache.kafka kafka_2.10 0.8.2.1 ...
  • u014035172
  • u014035172
  • 2017年03月29日 10:54
  • 5198

kafka初探 版本0.10 java编程

之前一直有项目用到,不过我并不负责这一块,所以了解不多,这次趁机会学习下。 之前对kafka的了解其实仅限于知道它是一个分布式消息系统,这次详细了解了下,知道了一些关键概念(topic主题、brok...
  • jacklin929
  • jacklin929
  • 2016年12月20日 19:39
  • 3803

Kafka使用Java客户端进行访问

本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 1. maven依赖包 or...
  • Lnho2015
  • Lnho2015
  • 2016年05月09日 16:15
  • 26490

Kafka使用Java客户端进行访问

原文地址:http://blog.csdn.net/lnho2015/article/details/51353936 本文环境如下:  操作系统:CentOS 6 32位  JDK版本:1...
  • tanga842428
  • tanga842428
  • 2016年10月10日 10:09
  • 5386

Kafka入门实例

摘要:本文主要讲了Kafka的一个简单入门实例
  • Evankaka
  • Evankaka
  • 2016年10月12日 20:45
  • 7373

kafka 学习笔记(二)之Java Producer客户端

软件神马的装好了,该写代码了,首先学习Producer。 Tutorial的代码只能用来玩,我们真正要做的是用Kafka嵌入到我们自己的程序中。因此用java客户端创建自己的consumer和prod...
  • chuliuxiangjiao
  • chuliuxiangjiao
  • 2015年07月10日 08:24
  • 1923

kafka详解三:开发Kafka应用

一、整体看一下Kafka 我们知道,Kafka系统有三大组件:Producer、Consumer、broker 。 producers 生产消息并推(push)送给brokers,cons...
  • suifeng3051
  • suifeng3051
  • 2014年07月09日 17:30
  • 12694

KafkaProducer-kafka生产者Java客户端

KafkaProducer(org.apache.kafka.clients.producer.KafkaProducer)是一个用于向kafka集群发送数据的Java客户端。该Java客户端是线程安...
  • cjf_wei
  • cjf_wei
  • 2017年09月10日 10:12
  • 3127

Kafka Producer相关代码分析

Kafka Producer相关代码分析 标签(空格分隔): kafka Kafka Producer将用户的消息发送到Kafka集群(准确讲是发送到Broker)。本文将分析Producer...
  • jewes
  • jewes
  • 2015年01月17日 20:38
  • 6465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:kafka 学习笔记(二)之Java Producer客户端
举报原因:
原因补充:

(最多只允许输入30个字)