kafka java实例
生产者
package com;
import java.util.Properties;
import java.util.concurrent.TimeUnit; import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
import kafka.serializer.StringEncoder; public class kafkaProducer extends Thread{ private String topic; public kafkaProducer(String topic){
super();
this.topic = topic;
} @Override
public void run() {
Producer producer = createProducer();
int i=0;
while(true){
producer.send(new KeyedMessage<Integer, String>(topic, "message: " + i++));
System.out.println("message: " + i);
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} private Producer createProducer() {
Properties properties = new Properties();
properties.put("zookeeper.connect", "192.168.130.130:2181");//声明zk
properties.put("serializer.class", StringEncoder.class.getName());
properties.put("metadata.broker.list", "192.168.130.130:9092");// 声明kafka broker
return new Producer<Integer, String>(new ProducerConfig(properties));
} public static void main(String[] args) {
new kafkaProducer("test").start();// 使用kafka集群中创建好的主题 test
// System.out.println("111"); } }
消费者
package com;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties; import kafka.consumer.Consumer;
import kafka.consumer.ConsumerConfig;
import kafka.consumer.ConsumerIterator;
import kafka.consumer.KafkaStream;
import kafka.javaapi.consumer.ConsumerConnector; /**
* 接收数据
* 接收到: message: 10
接收到: message: 11
接收到: message: 12
接收到: message: 13
接收到: message: 14
* @author zm
*
*/
public class kafkaConsumer extends Thread{ private String topic; public kafkaConsumer(String topic){
super();
this.topic = topic;
} @Override
public void run() {
ConsumerConnector consumer = createConsumer();
Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
topicCountMap.put(topic, 1); // 一次从主题中获取一个数据
Map<String, List<KafkaStream<byte[], byte[]>>> messageStreams = consumer.createMessageStreams(topicCountMap);
KafkaStream<byte[], byte[]> stream = messageStreams.get(topic).get(0);// 获取每次接收到的这个数据
ConsumerIterator<byte[], byte[]> iterator = stream.iterator();
while(iterator.hasNext()){
String message = new String(iterator.next().message());
System.out.println("接收到: " + message);
}
} private ConsumerConnector createConsumer() {
Properties properties = new Properties();
//设置提交时间
properties.put("auto.commit.interval.ms", "1000");
properties.put("zookeeper.connect", "192.168.130.130:2181");//声明zk
properties.put("group.id", "group2");// 必须要使用别的组名称, 如果生产者和消费者都在同一组,则不能访问同一组内的topic数据
return Consumer.createJavaConsumerConnector(new ConsumerConfig(properties));
} public static void main(String[] args) {
new kafkaConsumer("test").start();// 使用kafka集群中创建好的主题 test } }
aaarticlea/png;base64,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" alt="" width="808" height="60" />
----解决:关闭 Linux 的防火墙
---/etc/init.d/iptables status 会得到一系列信息,说明防火墙开着
---/etc/rc.d/init.d/iptables stop 关闭防火墙
----进到kafka bin 目录下输入命令查看消费状态
sufi@bogon bin]$ ./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect 192.168.130.130:2181 --group group1
aaarticlea/png;base64,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" alt="" />
注意
aaarticlea/png;base64,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" alt="" />
kafka java实例的更多相关文章
- 关于Kafka java consumer管理TCP连接的讨论
本篇是<关于Kafka producer管理TCP连接的讨论>的续篇,主要讨论Kafka java consumer是如何管理TCP连接.实际上,这两篇大部分的内容是相同的,即consum ...
- 【运维技术】kafka三实例集群环境搭建及测试使用
kafka三实例集群环境搭建及测试使用 单机搭建分为两部分:1. 软件安装启动 2. 软件配置 软件安装启动: # 切换到目录 cd /app # 获取kafka最新安装包,这边使用的是镜像地址,可以 ...
- .net core kafka 入门实例 一篇看懂
kafka 相信都有听说过,不管有没有用过,在江湖上可以说是大名鼎鼎,就像天龙八部里的乔峰.国际惯例,先介绍生平事迹 简介 Kafka 是由 Apache软件基金会 开发的一个开源流处理平台, ...
- springboot + kafka 入门实例 入门demo
springboot + kafka 入门实例 入门demo 版本说明 springboot版本:2.3.3.RELEASE kakfa服务端版本:kafka_2.12-2.6.0.tgz zooke ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
- Thrift入门及Java实例演示<转载备用>
Thrift入门及Java实例演示 作者: Michael 日期: 年 月 日 •概述 •下载配置 •基本概念 .数据类型 .服务端编码基本步骤 .客户端编码基本步骤 .数据传输协议 •实例演示(ja ...
- Protocol Buffer技术详解(Java实例)
Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...
- [Kafka] - Kafka Java Consumer实现(一)
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...
- kafka java使用
首先添加maven依赖 Kafka <dependency> <groupId>org.apache.kafka</groupId> <artifactId& ...
随机推荐
- Junit3断言
在Robotium自动化测试的过程中,发现没有断言的脚本是没有意义的,现整理Junit3和Junit4的断言,供日后查阅. http://junit.org/ Junit3断言API: http:// ...
- css3动画2(transform用法)
1.直接写在样式里,比如一个小箭头,transform:rotate(135deg)即可 2.写动画过程,@keyframes和transform和animation组合起来用 写在@keyframe ...
- gulp和grunt的区别
1. Grunt -> Gulp 早些年提到构建工具,难免会让人联想到历史比较悠久的Make,Ant,以及后来为了更方便的构建结构类似的Java项目而出现的Maven.Node催生了一批自动化工 ...
- Java线程:概念与原理
Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...
- sql 查出一张表中重复的所有记录数据
1.在面试的时候碰到一个 问题,就是让写一张表中有id和name 两个字段,查询出name重复的所有数据,现在列下: select * from xi a where (a.username) in ...
- EJDK, Raspberry Pi, and NetBeans IDE 8
https://blogs.oracle.com/geertjan/entry/youtube_ejdk_raspberry_pi_and
- 性能测试常用Oracle语句
性能测试常用Oracle语句 显示数据库当前的连接数 select count(*) from v$process; 显示数据库最大连接数: select value from v$parameter ...
- MyEclipse 序列号生成代码
根据程序运行提示输入用户名即可生成注册码 import java.io.*; public class MyEclipseGen { private static final String LL = ...
- 安装ANDROID5.0 ,adb连接不上
一.ADB PC端需要换成5.0 的版本 二.是4.3默认端口5555,但是现在没有连接上.即绑定端口. setprop service.adb.tcp.port 5555 stop adbd sta ...
- visual c++ 2010安装失败导致CRM2015安装失败
记录一下: 今天重新安装CRM2015时碰到以下错误: 安装一个或多个缺少的必备组件失败...,查看日志发现是 Microsoft Visual C++ 运行时 的安装失败,但查看系统发现vc++20 ...