前言碎语
昨天博主写了《windows环境下flink入门demo实例》实现了官方提供的最简单的单词计数功能,今天升级下,将数据源从socket流换成生产级的消息队列kafka来完成一样的单词计数功能。本文实现的重点主要有两个部分,一是kafka环境的搭建,二是如何使用官方提供的flink-connector-kafka_2.12来消费kafka消息,其他的逻辑部分和上文类似。
进入正题
本篇博文涉及到的软件工具以及下载地址:
Apache Flink :https://flink.apache.org/downloads.html ,请下载最新版1.7.x,选择单机版本
kafka:http://kafka.apache.org/downloads ,请下载最新的2.1.0
第一步:安装kafka,并验证
从上面的下载地址选择二进制包下载后是个压缩包,解压后的目录如下:
![02b455474e5728224fef292133e04baa.png](https://i-blog.csdnimg.cn/blog_migrate/af342e8ea39dc8394c5058ddac52014b.jpeg)
进入binwindows下,找到kafka-server-start.bat和zookeeper-server-start.bat。配置文件在config目录下,主要配置一些日志和kafka server和zookeeper,都默认就好。如果你本地已经有zk的环境,就可以忽略zk,不然按照下面的步骤执行即可。
1. 启动zk服务
执行:zookeeper-server-start.bat ....configzookeeper.properties
2.启动kafka服务
执行:kafka-server-start.bat ....configserver.properties
3.创建test主题
执行:kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
4.查看上一步的主题是否创建成功,成功的话控制台会输出test
执行:kafka-topics.bat --list --zookeeper localhost:2181
5.订阅test主题消息
执行:kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
6.发布消息
执行:kafka-console-producer.bat --