windows下kafka搭建

一、什么是kafka

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据, 功能相同的还有Rabbitmq 、ActiveMQ 。

二、术语介绍

Broker :Kafka集群包含一个或多个服务器,这种服务器被称为broker
Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
Partition:Partition是物理上的概念,每个Topic包含一个或多个Partition.
Producer:消息发送者(提供者),负责发布消息到Kafka broker
Consumer:消息消费者,向Kafka broker读取消息的客户端。
Consumer Group:每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。

三、开始搭建

1.搭建Java环境,配置JDK,环境变量记得配上CLASSPATH、JAVA_HOME、JRE_HOME,jdk下载地址:点我下载

2.下载zookeeper,具体怎么安装启动,这里就不再讲述,之前文章提到过,点我查看,配置好进行启动

3.下载kafka,去官网下载安装包,点击此处下载

4.进行解压并配置,我本地存放在D:\kafka下,在kafka文件加下创建kafka-logs文件夹,打开config目录,找到server.properties 进行修改,修改log.dirs地址,,如要修改zk端口,则修改zookeeper.connect即可

1
2
log.dirs=D:/kafka/kafka-logs
zookeeper.connect=localhost:2181

5.打开bin目录下,windows下的kafka-run-class.bat文件,修改CLASSPATH的配置,将set CLASSPATH=%CLASSPATH%;”%~1” 进行修改,在%CLASSPATH%左右加上双引号

1
2
3
4
5
6
7
goto :eof
:concat
IF not defined CLASSPATH (
set CLASSPATH="%~1"
) ELSE (
set CLASSPATH="%CLASSPATH%";"%~1"
)

6.在D:\kafka目录下,按住shift按键,鼠标右键,在此处打开powerShell窗口,启动kafka,命令如下

1
.\bin\windows\kafka-server-start.bat .\config\server.properties

7.启动成功如下

8.创建一个topics,打开bin/windows,打开powerShell新窗口,输入如下命令

1
.\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic yang

9.创建成功如下

10.创建一个消息提供者,打开powerShell新窗口,输入如下指令

1
.\kafka-console-producer.bat --broker-list localhost:9092 --topic yang

11.创建成功如下,等待提供者输入

12.创建一个消息消费者,打开powerShell新窗口,输入如下指令

旧版本指令

1
.\kafka-console-consumer.bat --zookeeper localhost:2181 --topic yang

新版本指令

1
.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic yang --from-beginning

13.创建成功如下,等待接收消息

14.在消息发送者上输入任意字符,稍等几秒后(第一次可能会有延迟),消息接收者会接收到发送者发送的消息,此时已经完成搭建