设为首页 加入收藏

TOP

03-eclipse创建maven项目进行Kafka Producer的测试
2019-01-20 14:36:24 】 浏览:231
Tags:03-eclipse 创建 maven 项目 进行 Kafka Producer 测试
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhengzhoudaxuewang/article/details/76198659

前面已经部署好了Kafka集群并且在利用kafka集群提供的脚本测试通过,下面要进入Java开发环境搭建。

一、环境描述

1server2008 eclipse kepler

2、本机建立了虚拟机系统: redhat 6.4 ip192.168.5.130,192.168.5.132,192.168.5.133

3、在三台虚拟机上部署了zookeeper 分布式192.168.5.130:2181,192.168.5.132:2181,192.168.5.133:2181

4、在虚拟机上部署了kafka broker集群:192.168.5.130:9092,192.168.5.132:9092,192.5.133:9092

broker id 分别为 123

二、目标

1、在eclipse上建立工程,导入依赖库,可以正常编译, producterconsumer 都可以实现
2
、可以在eclipse 调试程序, 本机 ----连接虚拟机的 zookeeper集群和 kafkabroker集群

三、搭建过程

整个过程其实走了一些弯路,网络上一些内容因为版本的问题,可能会用 maven方式,实际上现在也可以直接用常用的java工程开发方式,看各自喜欢。

另外,最新的api开发更简单而且据说效率更高,所以。。。。摸索都是泪。希望本篇可以让大家少走弯路。

1 maven方式建立工程

----------具体安装maven和配置的步骤见maven实践

eclipse集成maven已经实现后,创建一个maven工程: 打开eclipseFile->new->other 选中maven project

然后,修改pom.xml,在文件中增加如下依赖


完成后,保存。保存会触发maven工程自己会从网络上下载依赖库,出现如下界面,就说明工程正在自动下载依赖库。

编写producter代码:

public class MyProducer {

private static finalString TOPIC = "test"; //kafka创建的topic

private staticfinal String CONTENT = "This is a single message"; //要发送的内容

private staticfinal String BROKER_LIST ="192.168.5.130:9092,192.168.5.132:9092,192.168.5.133:9092"; //broker的地址和端口

private staticfinal String SERIALIZER_CLASS = "kafka.serializer.StringEncoder"; // 序列化类

public static voidmain(String[] args) {

Propertiesprops = new Properties();

props.put("serializer.class", SERIALIZER_CLASS);

props.put("metadata.broker.list", BROKER_LIST);

ProducerConfigconfig = new ProducerConfig(props);

Producer<String, String> producer= new Producer<String, String>(config);

//Send onemessage.

KeyedMessage<String, String> message =

newKeyedMessage<String, String>(TOPIC, CONTENT);

producer.send(message);

//Sendmultiple messages.

List<KeyedMessage<String,String>> messages =

newArrayList<KeyedMessage<String, String>>();

for (int i =0; i < 5; i++) {

messages.add(new KeyedMessage<String, String>

(TOPIC, "Multiple message at a time. " + i));

}

producer.send(messages);

producer.close();

}

}

然后确保没有错误后,在需要测试的类上右键-run as java application

正常情况下,就可以连接上kafkaproducter向消息队列推送消息,consumer可以从消息队列接受消息。


在虚拟机上开一个consumer接受消息,

[hadoop@hslave1kafka_2.10-0.9.0.1]$ bin/kafka-console-consumer.sh --zookeeperhmaster:2181,hslave1:2181,hslave2:2181--from-beginning --topic test执行结果如下:

到此结束,window开发环境与集群通信没有问题,在此期间会遇到很多问题,本人已经解决,所以赶快去测试一通吧。实践是出真理。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Kafka集群数据同步MirrorMaker 下一篇用docker+ES+kafka搭建用户行为数..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目